public Language(List <Translation> prioritizedTranslationList) { translations = prioritizedTranslationList; mainWindow = null; createDatabaseWindow = null; searchTab = null; nonFictionSearchResultsTab = null; fictionSearchResultsTab = null; sciMagSearchResultsTab = null; commonDetailsTab = null; nonFictionDetailsTab = null; fictionDetailsTab = null; sciMagDetailsTab = null; import = null; exportPanel = null; nonFictionExporter = null; fictionExporter = null; sciMagExporter = null; synchronization = null; database = null; sqlDebugger = null; downloadManager = null; applicationUpdate = null; settings = null; about = null; messageBox = null; errorWindow = null; Translation mainTranslation = prioritizedTranslationList.First(); Name = mainTranslation.General?.Name?.Trim() ?? String.Empty; LocalizedName = mainTranslation.General?.LocalizedName?.Trim() ?? String.Empty; if (!String.IsNullOrEmpty(Name) && !String.IsNullOrEmpty(LocalizedName)) { DisplayName = $"{Name} ({LocalizedName})"; } else { DisplayName = "Error"; } CultureCode = mainTranslation.General?.CultureCode?.Trim() ?? String.Empty; TranslatorName = mainTranslation.General?.TranslatorName ?? "unknown"; Formatter = new LanguageFormatter(prioritizedTranslationList); }
public void Synchronize() { SynchronizationLocalizator synchronizationLocalizator = MainModel.Localization.CurrentLanguage.Synchronization; if (MainModel.DatabaseMetadata.NonFictionFirstImportComplete != true) { ShowMessage(synchronizationLocalizator.ErrorMessageTitle, synchronizationLocalizator.ImportRequired); return; } if (MainModel.AppSettings.Mirrors.NonFictionSynchronizationMirrorName == null) { ShowMessage(synchronizationLocalizator.ErrorMessageTitle, synchronizationLocalizator.NoSynchronizationMirror); return; } if (MainModel.AppSettings.Network.OfflineMode) { if (ShowPrompt(synchronizationLocalizator.OfflineModePromptTitle, synchronizationLocalizator.OfflineModePromptText)) { MainModel.AppSettings.Network.OfflineMode = false; MainModel.SaveSettings(); } else { return; } } SynchronizationWindowViewModel synchronizationWindowViewModel = new SynchronizationWindowViewModel(MainModel); IWindowContext synchronizationWindowContext = WindowManager.CreateWindow(RegisteredWindows.WindowKey.SYNCHRONIZATION_WINDOW, synchronizationWindowViewModel, CurrentWindowContext); synchronizationWindowContext.ShowDialog(); if (IsDefaultSearchTabVisible) { DefaultSearchTabViewModel.SetFocus(); } else { if (SelectedTabViewModel is SearchTabViewModel searchTabViewModel) { searchTabViewModel.SetFocus(); } } }