public static void SetLanguage(string languageName) { if (languageName == CurrentTranslationLanguage || languageName == null) { return; } if (!LangList.Contains(languageName)) { return; } var lng = TranslationSerializer.DecryptData <UiTranslation>( Path.Combine(Folder, languageName + ".catchemLang"), _entropy); if (lng == null) { return; } _alterTranslation = lng; CurrentTranslationLanguage = languageName; RaiseStaticPropertyChangedByName("CurrentTranslationLanguage"); }
public static void Initialize() { CurrentTranslationLanguage = "English"; _entropy = Encoding.UTF8.GetBytes("CatchemTranslationEngine-v1.0"); if (!Directory.Exists(Folder)) { Directory.CreateDirectory(Folder); } foreach (var item in Directory.GetFiles(Folder)) { if (!CheckForUnprotectedTranslation(item) || !item.Contains(".catchemLang")) { continue; } var fi = new FileInfo(item); LangList.Add(fi.Name.Substring(0, fi.Name.Length - fi.Extension.Length)); } if (!LangList.Contains("English")) { var englishUi = new UiTranslation { LanguageName = "English", Translation = GetTranslationTags(MainWindow.BotWindow.SettingsView, MainWindow.BotWindow.MenuGrid, MainWindow.BotWindow.batchInput, MainWindow.BotWindow.InputBox, MainWindow.BotWindow.GlobalMapView, MainWindow.BotWindow.RouteCreatorView, MainWindow.BotWindow.TelegramView) }; englishUi.CryptData(Path.Combine(Folder, "English.catchemLang"), _entropy); #if DEBUG englishUi.SerializeDataJson(Path.Combine(Directory.GetCurrentDirectory(), TranslationsFolder, "English.json")); #endif LangList.Add("English"); } #if DEBUG CurrentTranslationLanguage = "EMPTY"; #endif }