From 9e0e4575c283b030ff385fc63108bff020f89f9b Mon Sep 17 00:00:00 2001 From: Drombeys Date: Wed, 24 Apr 2024 10:59:38 +0300 Subject: [PATCH] Refactor locale manager module --- .../App.axaml.cs | 14 ++--- ...LocaleManager.cs => AxamlLocaleManager.cs} | 17 +++++-- .../ViewModels/AuthorizationViewModel.cs | 7 ++- .../ViewModels/DownloadMenuViewModel.cs | 26 +++------- .../ViewModels/NewsSliderViewModel.cs | 21 +++----- .../ViewModels/StartGameViewModel.cs | 14 ++--- .../AuthenticationViewModelValidator.cs | 51 +++---------------- .../Validators/StartGameViewModelValidator.cs | 37 ++------------ .../Manager/IApplicationLocaleManager.cs | 9 ++++ .../Manager/ILocaleManager.cs | 8 --- .../Manager/InitializerManager.cs | 8 +-- 11 files changed, 66 insertions(+), 146 deletions(-) rename src/ImeSense.Launchers.Belarus.Avalonia/Manager/{LocaleManager.cs => AxamlLocaleManager.cs} (75%) create mode 100644 src/ImeSense.Launchers.Belarus.Core/Manager/IApplicationLocaleManager.cs delete mode 100644 src/ImeSense.Launchers.Belarus.Core/Manager/ILocaleManager.cs diff --git a/src/ImeSense.Launchers.Belarus.Avalonia/App.axaml.cs b/src/ImeSense.Launchers.Belarus.Avalonia/App.axaml.cs index edd832c..5c0d578 100644 --- a/src/ImeSense.Launchers.Belarus.Avalonia/App.axaml.cs +++ b/src/ImeSense.Launchers.Belarus.Avalonia/App.axaml.cs @@ -66,7 +66,7 @@ private IServiceCollection ConfigureServices() services.AddTransient(); services.AddTransient(); services.AddSingleton(); - services.AddSingleton(); + services.AddSingleton(); services.AddTransient, ReleaseComparerService>(); services.AddTransient(); services.AddSingleton(); @@ -117,27 +117,27 @@ public override async void OnFrameworkInitializationCompleted() await userManager.LoadAsync(); initializerManager.InitializeLocale(); - var localeManager = _serviceProvider.GetRequiredService(); - var locale = userManager.UserSettings?.Locale?.Key!; + var localeManager = _serviceProvider.GetRequiredService(); var splashScreenViewModel = _serviceProvider.GetRequiredService(); var mainViewModel = _serviceProvider.GetRequiredService(); desktop.MainWindow = new MainWindow { DataContext = mainViewModel }; + desktop.MainWindow.Show(); try { mainViewModel.ShowSplashScreenImpl(splashScreenViewModel); splashScreenViewModel.Progress++; splashScreenViewModel.InformationMessage = new InformationMessage( - localeManager.GetStringByKey("LocalizedStrings.Loading", locale), - localeManager.GetStringByKey("LocalizedStrings.AccessingRepository", locale)); + localeManager.GetStringByKey("LocalizedStrings.Loading"), + localeManager.GetStringByKey("LocalizedStrings.AccessingRepository")); //await Task.Delay(2000, splashScreenViewModel.CancellationToken); await initializerManager.InitializeAsync(); splashScreenViewModel.Progress++; splashScreenViewModel.InformationMessage = new InformationMessage( - localeManager.GetStringByKey("LocalizedStrings.Loading", locale), - localeManager.GetStringByKey("LocalizedStrings.DataInitialization", locale)); + localeManager.GetStringByKey("LocalizedStrings.Loading"), + localeManager.GetStringByKey("LocalizedStrings.DataInitialization")); //await Task.Delay(2000, splashScreenViewModel.CancellationToken); await mainViewModel.InitializeAsync(); splashScreenViewModel.Progress++; diff --git a/src/ImeSense.Launchers.Belarus.Avalonia/Manager/LocaleManager.cs b/src/ImeSense.Launchers.Belarus.Avalonia/Manager/AxamlLocaleManager.cs similarity index 75% rename from src/ImeSense.Launchers.Belarus.Avalonia/Manager/LocaleManager.cs rename to src/ImeSense.Launchers.Belarus.Avalonia/Manager/AxamlLocaleManager.cs index 8a98790..d6b94e6 100644 --- a/src/ImeSense.Launchers.Belarus.Avalonia/Manager/LocaleManager.cs +++ b/src/ImeSense.Launchers.Belarus.Avalonia/Manager/AxamlLocaleManager.cs @@ -5,21 +5,30 @@ namespace ImeSense.Launchers.Belarus.Avalonia.Manager; -public class LocaleManager : ILocaleManager +public class AxamlLocaleManager : IApplicationLocaleManager { + private string _locale = string.Empty; + public void SetLocale(string locale) { + _locale = locale; + App.Current?.Resources.Clear(); var resource = new ResourceInclude(new Uri("avares://SBLauncher/Assets/Locales/")) { - Source = new Uri($"avares://SBLauncher/Assets/Locales/{locale}.axaml"), + Source = new Uri($"avares://SBLauncher/Assets/Locales/{_locale}.axaml"), }; App.Current?.Resources.MergedDictionaries.Add(resource); } - public string GetStringByKey(string key, string locale) + public string GetLocale() + { + return _locale; + } + + public string GetStringByKey(string key) { var resources = new ResourceInclude(new Uri("avares://SBLauncher/Assets/Locales/")) { - Source = new Uri($"avares://SBLauncher/Assets/Locales/{locale}.axaml"), + Source = new Uri($"avares://SBLauncher/Assets/Locales/{_locale}.axaml"), }; var control = new Control { Resources = resources.Loaded, diff --git a/src/ImeSense.Launchers.Belarus.Avalonia/ViewModels/AuthorizationViewModel.cs b/src/ImeSense.Launchers.Belarus.Avalonia/ViewModels/AuthorizationViewModel.cs index 00e7f3b..6444a65 100644 --- a/src/ImeSense.Launchers.Belarus.Avalonia/ViewModels/AuthorizationViewModel.cs +++ b/src/ImeSense.Launchers.Belarus.Avalonia/ViewModels/AuthorizationViewModel.cs @@ -24,7 +24,7 @@ public class AuthorizationViewModel : ReactiveValidationObject, IDisposable { private readonly ILogger _logger; private readonly ILauncherStorage _launcherStorage; - private readonly ILocaleManager _localeManager; + private readonly IApplicationLocaleManager _localeManager; private readonly IWindowManager _windowManager; private readonly UserManager _userManager; @@ -44,7 +44,7 @@ public class AuthorizationViewModel : ReactiveValidationObject, IDisposable public ReactiveCommand Close { get; private set; } = null!; public AuthorizationViewModel(ILogger logger, - ILauncherStorage launcherStorage, ILocaleManager localeManager, + ILauncherStorage launcherStorage, IApplicationLocaleManager localeManager, IWindowManager windowManager, UserManager userManager, AuthenticationViewModelValidator authenticationViewModelValidator, LauncherViewModel launcherViewModel) @@ -77,8 +77,7 @@ public void ShowLauncherImpl(MainWindowViewModel mainWindowViewModel) { var username = Username.Trim(); if (string.IsNullOrWhiteSpace(username)) { - throw new Exception(_localeManager.GetStringByKey("LocalizedStrings.UsernameNotEntered", - SelectedLanguage.Key)); + throw new Exception(_localeManager.GetStringByKey("LocalizedStrings.UsernameNotEntered")); } if (_userManager is null) { diff --git a/src/ImeSense.Launchers.Belarus.Avalonia/ViewModels/DownloadMenuViewModel.cs b/src/ImeSense.Launchers.Belarus.Avalonia/ViewModels/DownloadMenuViewModel.cs index 936d972..d62e98f 100644 --- a/src/ImeSense.Launchers.Belarus.Avalonia/ViewModels/DownloadMenuViewModel.cs +++ b/src/ImeSense.Launchers.Belarus.Avalonia/ViewModels/DownloadMenuViewModel.cs @@ -16,11 +16,10 @@ namespace ImeSense.Launchers.Belarus.Avalonia.ViewModels; public class DownloadMenuViewModel : ReactiveObject { private readonly ILogger _logger; - private readonly ILocaleManager _localeManager; + private readonly IApplicationLocaleManager _localeManager; private readonly IWindowManager _windowManager; private readonly IDownloadResourcesService _downloadResourcesService; - private readonly UserManager _userManager; private readonly ILauncherStorage _launcherStorage; private CancellationTokenSource _tokenSource = new(); @@ -38,17 +37,15 @@ public class DownloadMenuViewModel : ReactiveObject [Reactive] public bool IsDownload { get; set; } public DownloadMenuViewModel(ILogger logger, - ILocaleManager localeManager, + IApplicationLocaleManager localeManager, IWindowManager windowManager, IDownloadResourcesService downloadResourcesService, - UserManager userManager, ILauncherStorage launcherStorage) { _logger = logger; _localeManager = localeManager; - _windowManager = windowManager ?? throw new ArgumentNullException(nameof(windowManager)); - _downloadResourcesService = downloadResourcesService ?? throw new ArgumentNullException(nameof(downloadResourcesService)); - _userManager = userManager; + _windowManager = windowManager; + _downloadResourcesService = downloadResourcesService; _launcherStorage = launcherStorage; IsDownload = false; @@ -63,7 +60,6 @@ public DownloadMenuViewModel() _localeManager = null!; _windowManager = null!; _downloadResourcesService = null!; - _userManager = null!; _launcherStorage = null!; } @@ -94,23 +90,13 @@ private void CloseImpl() private async Task DownloadsImplAsync(LauncherViewModel launcherViewModel) { - if (_userManager is null) { - throw new NullReferenceException("User manager object is null"); - } - if (_userManager.UserSettings is null) { - throw new NullReferenceException("User settings object is null"); - } - if (_userManager.UserSettings.Locale is null) { - throw new NullReferenceException("User settings locale object is null"); - } - DownloadFileName = string.Empty; var progress = new Progress(percentage => { DownloadProgress = percentage; }); IsProgress = true; - StatusProgress = _localeManager.GetStringByKey("LocalizedStrings.IntegrityChecking", _userManager.UserSettings.Locale.Key); + StatusProgress = _localeManager.GetStringByKey("LocalizedStrings.IntegrityChecking"); var filesDownload = await _downloadResourcesService.GetFilesForDownloadAsync(progress); if (filesDownload != null && filesDownload.Any()) { @@ -120,7 +106,7 @@ private async Task DownloadsImplAsync(LauncherViewModel launcherViewModel) try { foreach (var file in filesDownload) { numberFile++; - StatusProgress = _localeManager.GetStringByKey("LocalizedStrings.Files", _userManager.UserSettings.Locale.Key) + + StatusProgress = _localeManager.GetStringByKey("LocalizedStrings.Files") + $": {numberFile} / {countFiles}"; DownloadFileName = Path.GetFileName(file.Key); await _downloadResourcesService.DownloadAsync(file.Key, file.Value, progress, _tokenSource.Token); diff --git a/src/ImeSense.Launchers.Belarus.Avalonia/ViewModels/NewsSliderViewModel.cs b/src/ImeSense.Launchers.Belarus.Avalonia/ViewModels/NewsSliderViewModel.cs index 5f3a312..88c7bfa 100644 --- a/src/ImeSense.Launchers.Belarus.Avalonia/ViewModels/NewsSliderViewModel.cs +++ b/src/ImeSense.Launchers.Belarus.Avalonia/ViewModels/NewsSliderViewModel.cs @@ -20,6 +20,7 @@ public class NewsSliderViewModel : ReactiveObject private readonly ILogger _logger; private readonly ViewModelLocator _viewModelLocator; private readonly ILauncherStorage _launcherStorage; + private readonly UserManager _userManager; [Reactive] public int NumPage { get; set; } [Reactive] public NewsViewModel? SelectedNewsViewModel { get; private set; } @@ -28,24 +29,18 @@ public class NewsSliderViewModel : ReactiveObject public ReactiveCommand GoNext { get; set; } = null!; public ReactiveCommand GoBack { get; set; } = null!; - public UserManager UserManager { get; set; } public NewsSliderViewModel(ILogger logger, ViewModelLocator viewModelLocator, - UserManager userManager, ILauncherStorage launcherStorage, ILocaleManager localeManager) + UserManager userManager, ILauncherStorage launcherStorage, IApplicationLocaleManager localeManager) { logger.LogInformation("NewsSliderViewModel CTOR"); - if (userManager.UserSettings is not null) { - var locale = userManager.UserSettings.Locale; - if (locale is not null) { - News = [new(localeManager.GetStringByKey("LocalizedStrings.Warning", locale.Key), - localeManager.GetStringByKey("LocalizedStrings.LoadNews", locale.Key))]; - } - } + News = [new(localeManager.GetStringByKey("LocalizedStrings.Warning"), + localeManager.GetStringByKey("LocalizedStrings.LoadNews"))]; _logger = logger; _viewModelLocator = viewModelLocator; - UserManager = userManager; + _userManager = userManager; _launcherStorage = launcherStorage; LinkViewModel = viewModelLocator.LinkViewModel; @@ -59,13 +54,13 @@ public NewsSliderViewModel(ILogger logger, ViewModelLocator _logger.LogInformation("Language has been changed!"); ReloadNews(lang); }, canLoadNews); - this.WhenAnyValue(x => x.UserManager.UserSettings!.Locale) + this.WhenAnyValue(x => x._userManager.UserSettings!.Locale) .InvokeCommand(reloadNewsCommand); this.WhenAnyValue(x => x._launcherStorage.NewsContents) .Where(news => news != null && news.Any()) .Subscribe((n) => { - var locale = UserManager.UserSettings!.Locale; + var locale = _userManager.UserSettings!.Locale; ReloadNews(locale); }); } @@ -96,7 +91,7 @@ public NewsSliderViewModel() LinkViewModel = null!; _viewModelLocator = null!; - UserManager = null!; + _userManager = null!; _launcherStorage = null!; } diff --git a/src/ImeSense.Launchers.Belarus.Avalonia/ViewModels/StartGameViewModel.cs b/src/ImeSense.Launchers.Belarus.Avalonia/ViewModels/StartGameViewModel.cs index 74cadf9..f32741b 100644 --- a/src/ImeSense.Launchers.Belarus.Avalonia/ViewModels/StartGameViewModel.cs +++ b/src/ImeSense.Launchers.Belarus.Avalonia/ViewModels/StartGameViewModel.cs @@ -19,7 +19,7 @@ public class StartGameViewModel : ReactiveValidationObject, IDisposable { private readonly ILogger _logger; private readonly UserManager _userManager; - private readonly ILocaleManager _localeManager; + private readonly IApplicationLocaleManager _localeManager; private readonly IWindowManager _windowManager; private readonly StartGameViewModelValidator _startGameViewModelValidator; @@ -31,7 +31,7 @@ public class StartGameViewModel : ReactiveValidationObject, IDisposable public ReactiveCommand Back { get; private set; } = null!; public StartGameViewModel(ILogger logger, UserManager userManager, - IWindowManager windowManager, ILocaleManager localeManager, + IWindowManager windowManager, IApplicationLocaleManager localeManager, StartGameViewModelValidator startGameViewModelValidator) { _logger = logger; @@ -110,22 +110,18 @@ private void StartGameImpl() if (_userManager.UserSettings is null) { throw new NullReferenceException("User settings object is null"); } - if (_userManager.UserSettings.Locale is null) { - throw new NullReferenceException("User settings locale object is null"); - } if (string.IsNullOrWhiteSpace(IpAddress)) { - throw new Exception(_localeManager.GetStringByKey("LocalizedStrings.NoIpAddressEntered", - _userManager.UserSettings.Locale.Key)); + throw new Exception(_localeManager.GetStringByKey("LocalizedStrings.NoIpAddressEntered")); } _userManager.UserSettings.IpAddress = IpAddress; _userManager.Save(); var process = Core.Launcher.Launch(path: @"binaries\xrEngine.exe", - arguments: new List { + arguments: [ @$"-start -center_screen -silent_error_mode client({_userManager.UserSettings.IpAddress}/name={ _userManager.UserSettings.Username})" - }); + ]); process?.Start(); _windowManager.Close(); diff --git a/src/ImeSense.Launchers.Belarus.Avalonia/ViewModels/Validators/AuthenticationViewModelValidator.cs b/src/ImeSense.Launchers.Belarus.Avalonia/ViewModels/Validators/AuthenticationViewModelValidator.cs index 13ae369..2484673 100644 --- a/src/ImeSense.Launchers.Belarus.Avalonia/ViewModels/Validators/AuthenticationViewModelValidator.cs +++ b/src/ImeSense.Launchers.Belarus.Avalonia/ViewModels/Validators/AuthenticationViewModelValidator.cs @@ -6,68 +6,29 @@ namespace ImeSense.Launchers.Belarus.Avalonia.ViewModels.Validators; -public sealed class AuthenticationViewModelValidator +public sealed class AuthenticationViewModelValidator(IAuthenticationValidator validator, IApplicationLocaleManager localeManager) { - private readonly IAuthenticationValidator _validator; - private readonly ILocaleManager _localeManager; - private readonly UserManager _userManager; - - public AuthenticationViewModelValidator(IAuthenticationValidator validator, ILocaleManager localeManager, - UserManager userManager) - { - _validator = validator; - _localeManager = localeManager; - _userManager = userManager; - } + private readonly IAuthenticationValidator _validator = validator; + private readonly IApplicationLocaleManager _localeManager = localeManager; public ValidationHelper EnsureUsernameNotEmpty(AuthorizationViewModel authorizationViewModel) { - if (_userManager is null) { - throw new NullReferenceException("User manager object is null"); - } - if (_userManager.UserSettings is null) { - throw new NullReferenceException("User settings object is null"); - } - if (_userManager.UserSettings.Locale is null) { - throw new NullReferenceException("User settings locale object is null"); - } - return authorizationViewModel.ValidationRule(viewModel => viewModel.Username, username => username != null && _validator.IsUsernameNotEmpty(username), - _localeManager.GetStringByKey("LocalizedStrings.EnterNickName", _userManager.UserSettings.Locale.Key)); + _localeManager.GetStringByKey("LocalizedStrings.EnterNickName")); } public ValidationHelper EnsureUsernameCorrectLength(AuthorizationViewModel authorizationViewModel) { - if (_userManager is null) { - throw new NullReferenceException("User manager object is null"); - } - if (_userManager.UserSettings is null) { - throw new NullReferenceException("User settings object is null"); - } - if (_userManager.UserSettings.Locale is null) { - throw new NullReferenceException("User settings locale object is null"); - } - return authorizationViewModel.ValidationRule(viewModel => viewModel.Username, username => username != null && _validator.IsUsernameCorrectLength(username), - _localeManager.GetStringByKey("LocalizedStrings.TooLongNickname", _userManager.UserSettings.Locale.Key)); + _localeManager.GetStringByKey("LocalizedStrings.TooLongNickname")); } public ValidationHelper EnsureUsernameCorrectCharacters(AuthorizationViewModel authorizationViewModel) { - if (_userManager is null) { - throw new NullReferenceException("User manager object is null"); - } - if (_userManager.UserSettings is null) { - throw new NullReferenceException("User settings object is null"); - } - if (_userManager.UserSettings.Locale is null) { - throw new NullReferenceException("User settings locale object is null"); - } - return authorizationViewModel.ValidationRule(viewModel => viewModel.Username, username => username != null && _validator.IsUsernameCorrectCharacters(username), - _localeManager.GetStringByKey("LocalizedStrings.InvalidCharacters", _userManager.UserSettings.Locale.Key)); + _localeManager.GetStringByKey("LocalizedStrings.InvalidCharacters")); } } diff --git a/src/ImeSense.Launchers.Belarus.Avalonia/ViewModels/Validators/StartGameViewModelValidator.cs b/src/ImeSense.Launchers.Belarus.Avalonia/ViewModels/Validators/StartGameViewModelValidator.cs index bbc67aa..d68ba77 100644 --- a/src/ImeSense.Launchers.Belarus.Avalonia/ViewModels/Validators/StartGameViewModelValidator.cs +++ b/src/ImeSense.Launchers.Belarus.Avalonia/ViewModels/Validators/StartGameViewModelValidator.cs @@ -6,50 +6,23 @@ namespace ImeSense.Launchers.Belarus.Avalonia.ViewModels.Validators; -public sealed class StartGameViewModelValidator +public sealed class StartGameViewModelValidator(IStartGameValidator validator, IApplicationLocaleManager localeManager) { - private readonly IStartGameValidator _validator; - private readonly ILocaleManager _localeManager; - private readonly UserManager _userManager; - - public StartGameViewModelValidator(IStartGameValidator validator, ILocaleManager localeManager, UserManager userManager) - { - _validator = validator; - _localeManager = localeManager; - _userManager = userManager; - } + private readonly IStartGameValidator _validator = validator; + private readonly IApplicationLocaleManager _localeManager = localeManager; public ValidationHelper EnsureIpAddressNotEmpty(StartGameViewModel startGameViewModel) { - if (_userManager is null) { - throw new NullReferenceException("User manager object is null"); - } - if (_userManager.UserSettings is null) { - throw new NullReferenceException("User settings object is null"); - } - if (_userManager.UserSettings.Locale is null) { - throw new NullReferenceException("User settings locale object is null"); - } return startGameViewModel.ValidationRule(viewModel => viewModel.IpAddress, serverAddress => serverAddress != null && _validator.IsIpAddressNotEmpty(serverAddress), - _localeManager.GetStringByKey("LocalizedStrings.IpAddressNotEntered", _userManager.UserSettings.Locale.Key)); + _localeManager.GetStringByKey("LocalizedStrings.IpAddressNotEntered")); } public ValidationHelper EnsureValidIpAddressOrUrl(StartGameViewModel startGameViewModel) { - if (_userManager is null) { - throw new NullReferenceException("User manager object is null"); - } - if (_userManager.UserSettings is null) { - throw new NullReferenceException("User settings object is null"); - } - if (_userManager.UserSettings.Locale is null) { - throw new NullReferenceException("User settings locale object is null"); - } - return startGameViewModel.ValidationRule(viewModel => viewModel.IpAddress, serverAddress => serverAddress != null && _validator.IsValidIpAddressOrUrl(serverAddress), - _localeManager.GetStringByKey("LocalizedStrings.InvalidIpAddress", _userManager.UserSettings.Locale.Key)); + _localeManager.GetStringByKey("LocalizedStrings.InvalidIpAddress")); } } diff --git a/src/ImeSense.Launchers.Belarus.Core/Manager/IApplicationLocaleManager.cs b/src/ImeSense.Launchers.Belarus.Core/Manager/IApplicationLocaleManager.cs new file mode 100644 index 0000000..ef84eea --- /dev/null +++ b/src/ImeSense.Launchers.Belarus.Core/Manager/IApplicationLocaleManager.cs @@ -0,0 +1,9 @@ +namespace ImeSense.Launchers.Belarus.Core.Manager; + +public interface IApplicationLocaleManager +{ + void SetLocale(string locale); + string GetLocale(); + + string GetStringByKey(string key); +} diff --git a/src/ImeSense.Launchers.Belarus.Core/Manager/ILocaleManager.cs b/src/ImeSense.Launchers.Belarus.Core/Manager/ILocaleManager.cs deleted file mode 100644 index b1971e2..0000000 --- a/src/ImeSense.Launchers.Belarus.Core/Manager/ILocaleManager.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace ImeSense.Launchers.Belarus.Core.Manager; - -public interface ILocaleManager -{ - void SetLocale(string locale); - - string GetStringByKey(string key, string locale); -} diff --git a/src/ImeSense.Launchers.Belarus.Core/Manager/InitializerManager.cs b/src/ImeSense.Launchers.Belarus.Core/Manager/InitializerManager.cs index a65a96a..65b16b5 100644 --- a/src/ImeSense.Launchers.Belarus.Core/Manager/InitializerManager.cs +++ b/src/ImeSense.Launchers.Belarus.Core/Manager/InitializerManager.cs @@ -13,14 +13,14 @@ namespace ImeSense.Launchers.Belarus.Core.Manager; public class InitializerManager( ILogger logger, IGitStorageApiService gitStorageApiService, UserManager userManager, - ILocaleManager localeManager, ILauncherStorage launcherStorage, + IApplicationLocaleManager localeManager, ILauncherStorage launcherStorage, IReleaseComparerService releaseComparerService, IUpdaterService updaterService) { private readonly ILogger _logger = logger; private readonly IGitStorageApiService _gitStorageApiService = gitStorageApiService; private readonly UserManager _userManager = userManager; - private readonly ILocaleManager _localeManager = localeManager; + private readonly IApplicationLocaleManager _localeManager = localeManager; private readonly ILauncherStorage _launcherStorage = launcherStorage; private readonly IReleaseComparerService _releaseComparerService = releaseComparerService; private readonly IUpdaterService _updaterService = updaterService; @@ -89,8 +89,8 @@ public async Task InitializeAsync() try { allNews.Add(new LangNewsContent(locale, [new NewsContent( - _localeManager.GetStringByKey("LocalizedStrings.ErrorTitle", locale.Key), - _localeManager.GetStringByKey("LocalizedStrings.ErrorInternetDescription", locale.Key) + _localeManager.GetStringByKey("LocalizedStrings.ErrorTitle"), + _localeManager.GetStringByKey("LocalizedStrings.ErrorInternetDescription") )])); } catch (Exception ex) { _logger.LogError("{Message}", ex.Message);