public static LocalizationContainer Load() { TextAsset _xml = Resources.Load <TextAsset>("Database/localization"); XmlSerializer serializer = new XmlSerializer(typeof(LocalizationContainer)); StringReader reader = new StringReader(_xml.text); LocalizationContainer items = serializer.Deserialize(reader) as LocalizationContainer; reader.Close(); return(items); }
public static void SpawnDialog() { PopupDialog.SpawnPopupDialog( new MultiOptionDialog("DisclaimerWindow", LocalizationContainer.DisclaimerDialogText.Text, LocalizationContainer.DisclaimerDialogText.Title, HighLogic.UISkin, new Rect(.5f, .5f, 425f, 150f), new DialogGUIFlexibleSpace(), new DialogGUIVerticalLayout( new DialogGUIHorizontalLayout( new DialogGUIButton(LocalizationContainer.DisclaimerDialogText.Accept, delegate { SettingsSystem.CurrentSettings.DisclaimerAccepted = true; MainSystem.Singleton.Enabled = true; SettingsSystem.SaveSettings(); } ), new DialogGUIFlexibleSpace(), new DialogGUIButton(LocalizationContainer.DisclaimerDialogText.OpenUrl, delegate { Application.OpenURL("http://forum.kerbalspaceprogram.com/index.php?/topic/154851-add-on-posting-rules-march-8-2017/"); } , false), new DialogGUIFlexibleSpace(), new DialogGUIButton(LocalizationContainer.DisclaimerDialogText.Decline, delegate { LunaLog.LogError("[LMP]: User did not accept disclaimer"); } ), new DialogGUIFlexibleSpace(), new DialogGUIButton(LocalizationContainer.GetCurrentLanguageAsText(), delegate { LocalizationContainer.LoadLanguage(LocalizationContainer.GetNextLanguage()); SettingsSystem.CurrentSettings.Language = LocalizationContainer.CurrentLanguage; SettingsSystem.SaveSettings(); SpawnDialog(); } ) ) ) ), true, HighLogic.UISkin ); }
private ContentType GetOrCreateContentType(string[] normalizedKey, LocalizationContainer localizationContainer) { var basePath = normalizedKey[1]; var contentTypeName = basePath + "LocalizationPage"; var existingContentType = _contentTypeRepository.Service.Load(contentTypeName); if (existingContentType != null) { return(existingContentType); } var contentType = new PageType { Name = contentTypeName, DisplayName = string.Format("[Localization] {0}", contentTypeName), }; _contentTypeRepository.Service.Save(contentType); var basePathProperty = new PropertyDefinition { ContentTypeID = contentType.ID, ID = 0, DisplayEditUI = false, ExistsOnModel = false, Name = "BasePath", Type = _stringPropertyDefinitionType }; _propertyDefinitionRepository.Service.Save(basePathProperty); var writableClone = (ContentType)contentType.CreateWritableClone(); writableClone.PropertyDefinitions.Add(basePathProperty); _contentTypeRepository.Service.Save(writableClone); var containerContentType = _contentTypeRepository.Service.Load(localizationContainer.ContentTypeID); var availableSetting = _availableContentTypeRepository.Service.GetSetting(containerContentType); availableSetting.Availability = Availability.Specific; availableSetting.AllowedContentTypeNames.Add(contentType.Name); _availableContentTypeRepository.Service.RegisterSetting(containerContentType, availableSetting); return(contentType); }
public static void SpawnDialog() { PopupDialog.SpawnPopupDialog( new MultiOptionDialog("DisclaimerWindow", LocalizationContainer.DisclaimerDialogText.Text, LocalizationContainer.DisclaimerDialogText.Title, HighLogic.UISkin, new Rect(.5f, .5f, 425f, 150f), new DialogGUIFlexibleSpace(), new DialogGUIVerticalLayout( new DialogGUIHorizontalLayout( new DialogGUIButton(LocalizationContainer.DisclaimerDialogText.Accept, delegate { SettingsSystem.CurrentSettings.DisclaimerAccepted = true; MainSystem.Singleton.Enabled = true; SettingsSystem.SaveSettings(); MainSystem.Singleton.StartCoroutine(UpdateHandler.CheckForUpdates()); } ), new DialogGUIFlexibleSpace(), new DialogGUIButton(LocalizationContainer.DisclaimerDialogText.Decline, delegate { LunaLog.LogError("[LMP]: User did not accept disclaimer"); } ), new DialogGUIFlexibleSpace(), new DialogGUIButton(LocalizationContainer.GetCurrentLanguageAsText(), delegate { LocalizationContainer.LoadLanguage(LocalizationContainer.GetNextLanguage()); SettingsSystem.CurrentSettings.Language = LocalizationContainer.CurrentLanguage; SettingsSystem.SaveSettings(); SpawnDialog(); } ) ) ) ), true, HighLogic.UISkin ); }
public static void ShowWindow(LocalizationContainer container) { if (_opened) { return; } if (EditorApplication.isCompiling) { return; } if (container == null) { return; } Debug.Log("opening localization database:" + container.name); _container = container; _container.Load(); _cachedEntries = _container.Entries; GetWindow <LocalizationEditorWindow>().Show(); _opened = true; }
private void OnSelectedStreamUpdate([CanBeNull] StreamEntity stream) { if (stream == null) { this.StreamDataVisibility = Visibility.Hidden; return; } this.StreamDataVisibility = Visibility.Visible; InterpolateLocalization ( "page.student.view.stream.course", stream.Course?.ToString() ?? "" ); InterpolateLocalization ( "page.student.view.discipline.lessons", stream.LectureCount, stream.PracticalCount, stream.LabCount ); var missedLessons = _context.GetStudentMissedLessons(this.Student, stream, DateTime.Now); var missedLectures = missedLessons.Count(model => model.Lesson.LessonType == LessonType.Lecture); var missedPractices = missedLessons.Count(model => model.Lesson.LessonType == LessonType.Practice); var missedLabs = missedLessons.Count(model => model.Lesson.LessonType == LessonType.Laboratory); var total = missedLectures + missedPractices + missedLabs; this.StudentMissedLessons = total == 0 ? Localization["Нет пропущенных занятий"] : LocalizationContainer.Interpolate ( "page.student.view.missed.lessons", total, missedLectures, missedPractices, missedLabs ); }
public override void DrawWindowContent(int windowId) { //Player color GUILayout.BeginVertical(BoxStyle); GUI.DragWindow(MoveRect); GUILayout.BeginHorizontal(); GUILayout.Label(LocalizationContainer.OptionsWindowText.Language); if (GUILayout.Button(LocalizationContainer.GetCurrentLanguageAsText(), ButtonStyle)) { LocalizationContainer.LoadLanguage(LocalizationContainer.GetNextLanguage()); SettingsSystem.CurrentSettings.Language = LocalizationContainer.CurrentLanguage; SettingsSystem.SaveSettings(); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label(LocalizationContainer.OptionsWindowText.Color); GUILayout.Label(SettingsSystem.CurrentSettings.PlayerName, _tempColorLabelStyle); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label(LocalizationContainer.OptionsWindowText.Red, _smallOption); _tempColor.r = GUILayout.HorizontalScrollbar(_tempColor.r, 0, 0, 1); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label(LocalizationContainer.OptionsWindowText.Green, _smallOption); _tempColor.g = GUILayout.HorizontalScrollbar(_tempColor.g, 0, 0, 1); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label(LocalizationContainer.OptionsWindowText.Blue, _smallOption); _tempColor.b = GUILayout.HorizontalScrollbar(_tempColor.b, 0, 0, 1); GUILayout.EndHorizontal(); _tempColorLabelStyle.active.textColor = _tempColor; _tempColorLabelStyle.normal.textColor = _tempColor; GUILayout.BeginHorizontal(); if (GUILayout.Button(LocalizationContainer.OptionsWindowText.Random, ButtonStyle)) { _tempColor = PlayerColorSystem.GenerateRandomColor(); } if (GUILayout.Button(LocalizationContainer.OptionsWindowText.Set, ButtonStyle)) { StatusWindow.Singleton.ColorEventHandled = false; SettingsSystem.CurrentSettings.PlayerColor = _tempColor; SettingsSystem.SaveSettings(); if (MainSystem.NetworkState == ClientState.Running) { PlayerColorSystem.Singleton.MessageSender.SendPlayerColorToServer(); } } GUILayout.EndHorizontal(); GUILayout.Space(10); var settingInterpolator = GUILayout.Toggle(SettingsSystem.CurrentSettings.PositionInterpolation, "Use interpolation", ButtonStyle); if (settingInterpolator != SettingsSystem.CurrentSettings.PositionInterpolation) { SettingsSystem.CurrentSettings.PositionInterpolation = settingInterpolator; SettingsSystem.SaveSettings(); } GUILayout.Space(10); if (GUILayout.Button(LocalizationContainer.OptionsWindowText.GenerateLmpModControl)) { ModSystem.Singleton.GenerateModControlFile(false); } if (GUILayout.Button(LocalizationContainer.OptionsWindowText.GenerateLmpModControl + " + SHA")) { ModSystem.Singleton.GenerateModControlFile(true); } _displayUniverseConverterDialog = GUILayout.Toggle(_displayUniverseConverterDialog, LocalizationContainer.OptionsWindowText.GenerateUniverse, ButtonStyle); GUILayout.Space(10); #if DEBUG DrawAdvancedDebugOptions(); #endif GUILayout.FlexibleSpace(); GUILayout.EndVertical(); }
private void DrawAdvancedDebugOptions() { GUILayout.Label("Debug settings\n________________________________________"); if (GUILayout.Button("Check Common.dll stock parts")) { ModSystem.Singleton.CheckCommonStockParts(); } if (GUILayout.Button("Regenerate translation files")) { LocalizationContainer.RegenerateTranslations(); } GUILayout.Space(10); _showBadNetworkSimulationSettings = GUILayout.Toggle(_showBadNetworkSimulationSettings, "Bad network simulation", ButtonStyle); if (_showBadNetworkSimulationSettings) { if (MainSystem.NetworkState <= ClientState.Disconnected) { GUILayout.BeginHorizontal(); if (GUILayout.Button("Random", ButtonStyle)) { NetworkMain.RandomizeBadConnectionValues(); } if (GUILayout.Button("Reset", ButtonStyle)) { NetworkMain.ResetBadConnectionValues(); } GUILayout.EndHorizontal(); } if (MainSystem.NetworkState > ClientState.Disconnected) { GUILayout.Label("Cannot change values while connected"); } GUILayout.Label($"Packet loss: {NetworkMain.Config.SimulatedLoss * 100:F1}%"); if (MainSystem.NetworkState <= ClientState.Disconnected) { NetworkMain.Config.SimulatedLoss = (float)Math.Round(GUILayout.HorizontalScrollbar(NetworkMain.Config.SimulatedLoss, 0, 0, 1), 3); } GUILayout.Label($"Packet duplication: {NetworkMain.Config.SimulatedDuplicatesChance * 100:F1}%"); if (MainSystem.NetworkState <= ClientState.Disconnected) { NetworkMain.Config.SimulatedDuplicatesChance = (float)Math.Round(GUILayout.HorizontalScrollbar(NetworkMain.Config.SimulatedDuplicatesChance, 0, 0, 1), 3); } GUILayout.Label($"Max random latency: {NetworkMain.Config.SimulatedRandomLatency * 1000:F1} ms"); if (MainSystem.NetworkState <= ClientState.Disconnected) { NetworkMain.Config.SimulatedRandomLatency = (float)Math.Round(GUILayout.HorizontalScrollbar(NetworkMain.Config.SimulatedRandomLatency, 0, 0, 3), 4); } GUILayout.Label($"Min latency: {NetworkMain.Config.SimulatedMinimumLatency * 1000:F1} ms"); if (MainSystem.NetworkState <= ClientState.Disconnected) { NetworkMain.Config.SimulatedMinimumLatency = (float)Math.Round(GUILayout.HorizontalScrollbar(NetworkMain.Config.SimulatedMinimumLatency, 0, 0, 3), 4); } } _showClockOffsetSettings = GUILayout.Toggle(_showClockOffsetSettings, "Clock offset simulation", ButtonStyle); if (_showClockOffsetSettings) { GUILayout.Label($"Computer clock offset: {LunaComputerTime.SimulatedMinutesTimeOffset:F1} min"); LunaComputerTime.SimulatedMinutesTimeOffset = (float)Math.Round(GUILayout.HorizontalScrollbar(LunaComputerTime.SimulatedMinutesTimeOffset, 0, -15, 15), 3); GUILayout.Label($"NTP server time offset: {LunaNetworkTime.SimulatedMsTimeOffset:F1} ms"); LunaNetworkTime.SimulatedMsTimeOffset = (float)Math.Round(GUILayout.HorizontalScrollbar(LunaNetworkTime.SimulatedMsTimeOffset, 0, -2500, 2500), 3); } }
public void InterpolateLocalization(string key, params object[] values) { this[key] = LocalizationContainer.Interpolate(key, values); }
protected override void DrawWindowContent(int windowId) { //Player color GUILayout.BeginVertical(); GUI.DragWindow(MoveRect); GUILayout.BeginHorizontal(); GUILayout.Label(LocalizationContainer.OptionsWindowText.Language); if (GUILayout.Button(LocalizationContainer.GetCurrentLanguageAsText())) { LocalizationContainer.LoadLanguage(LocalizationContainer.GetNextLanguage()); SettingsSystem.CurrentSettings.Language = LocalizationContainer.CurrentLanguage; SettingsSystem.SaveSettings(); } GUILayout.EndHorizontal(); GUILayout.Label(LocalizationContainer.OptionsWindowText.Color); GUILayout.BeginHorizontal(Skin.box, GUILayout.ExpandWidth(true)); GUILayout.Label(SettingsSystem.CurrentSettings.PlayerName, _tempColorLabelStyle); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label(LocalizationContainer.OptionsWindowText.Red, _smallOption); _tempColor.r = GUILayout.HorizontalScrollbar(_tempColor.r, 0, 0, 1); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label(LocalizationContainer.OptionsWindowText.Green, _smallOption); _tempColor.g = GUILayout.HorizontalScrollbar(_tempColor.g, 0, 0, 1); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label(LocalizationContainer.OptionsWindowText.Blue, _smallOption); _tempColor.b = GUILayout.HorizontalScrollbar(_tempColor.b, 0, 0, 1); GUILayout.EndHorizontal(); _tempColorLabelStyle.fontStyle = FontStyle.Bold; _tempColorLabelStyle.fontSize = 40; _tempColorLabelStyle.alignment = TextAnchor.MiddleCenter; _tempColorLabelStyle.active.textColor = _tempColor; _tempColorLabelStyle.normal.textColor = _tempColor; GUILayout.BeginHorizontal(); if (GUILayout.Button(LocalizationContainer.OptionsWindowText.Random)) { _tempColor = PlayerColorSystem.GenerateRandomColor(); } if (GUILayout.Button(LocalizationContainer.OptionsWindowText.Set)) { StatusWindow.Singleton.ColorEventHandled = false; SettingsSystem.CurrentSettings.PlayerColor = _tempColor; SettingsSystem.SaveSettings(); if (MainSystem.NetworkState == ClientState.Running) { PlayerColorSystem.Singleton.MessageSender.SendPlayerColorToServer(); } } GUILayout.EndHorizontal(); GUILayout.Space(10); if (GUILayout.Button(LocalizationContainer.OptionsWindowText.GenerateLmpModControl)) { ModSystem.Singleton.GenerateModControlFile(false); } if (GUILayout.Button(LocalizationContainer.OptionsWindowText.GenerateLmpModControl + " + SHA")) { ModSystem.Singleton.GenerateModControlFile(true); } _displayUniverseConverterDialog = GUILayout.Toggle(_displayUniverseConverterDialog, LocalizationContainer.OptionsWindowText.GenerateUniverse, ToggleButtonStyle); GUILayout.Space(10); DrawGeneralSettings(); DrawNetworkSettings(); #if DEBUG DrawAdvancedDebugOptions(); #endif GUILayout.FlexibleSpace(); GUILayout.EndVertical(); }
public void DrawContent(int windowId) { if (!LoadEventHandled) { LoadEventHandled = true; TempColor = SettingsSystem.CurrentSettings.PlayerColor; } //Player color GUILayout.BeginVertical(); GUI.DragWindow(MoveRect); GUILayout.BeginHorizontal(); GUILayout.Label(LocalizationContainer.OptionsWindowText.Language); if (GUILayout.Button(LocalizationContainer.GetCurrentLanguageAsText(), ButtonStyle)) { LocalizationContainer.LoadLanguage(LocalizationContainer.GetNextLanguage()); SettingsSystem.CurrentSettings.Language = LocalizationContainer.CurrentLanguage; SettingsSystem.SaveSettings(); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label(LocalizationContainer.OptionsWindowText.Color); GUILayout.Label(SettingsSystem.CurrentSettings.PlayerName, TempColorLabelStyle); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label(LocalizationContainer.OptionsWindowText.Red, SmallOption); TempColor.r = GUILayout.HorizontalScrollbar(TempColor.r, 0, 0, 1); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label(LocalizationContainer.OptionsWindowText.Green, SmallOption); TempColor.g = GUILayout.HorizontalScrollbar(TempColor.g, 0, 0, 1); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label(LocalizationContainer.OptionsWindowText.Blue, SmallOption); TempColor.b = GUILayout.HorizontalScrollbar(TempColor.b, 0, 0, 1); GUILayout.EndHorizontal(); TempColorLabelStyle.active.textColor = TempColor; TempColorLabelStyle.normal.textColor = TempColor; GUILayout.BeginHorizontal(); if (GUILayout.Button(LocalizationContainer.OptionsWindowText.Random, ButtonStyle)) { TempColor = PlayerColorSystem.GenerateRandomColor(); } if (GUILayout.Button(LocalizationContainer.OptionsWindowText.Set, ButtonStyle)) { StatusWindow.Singleton.ColorEventHandled = false; SettingsSystem.CurrentSettings.PlayerColor = TempColor; SettingsSystem.SaveSettings(); if (MainSystem.NetworkState == ClientState.Running) { PlayerColorSystem.Singleton.MessageSender.SendPlayerColorToServer(); } } GUILayout.EndHorizontal(); GUILayout.Space(10); //Key bindings var chatDescription = $"{LocalizationContainer.OptionsWindowText.SetChatKey} {SettingsSystem.CurrentSettings.ChatKey}"; if (SettingChat) { chatDescription = LocalizationContainer.OptionsWindowText.SettingChatKey; if (Event.current.isKey) { if (Event.current.keyCode != KeyCode.Escape) { SettingsSystem.CurrentSettings.ChatKey = Event.current.keyCode; SettingsSystem.SaveSettings(); SettingChat = false; } else { SettingChat = false; } } } if (GUILayout.Button(chatDescription)) { SettingChat = !SettingChat; } if (GUILayout.Button(LocalizationContainer.OptionsWindowText.ResetDisclaimer)) { SettingsSystem.CurrentSettings.DisclaimerAccepted = false; SettingsSystem.SaveSettings(); } var settingInterpolation = GUILayout.Toggle(SettingsSystem.CurrentSettings.InterpolationEnabled, LocalizationContainer.OptionsWindowText.Interpolation, ButtonStyle); if (settingInterpolation != SettingsSystem.CurrentSettings.InterpolationEnabled) { SettingsSystem.CurrentSettings.InterpolationEnabled = settingInterpolation; SettingsSystem.SaveSettings(); } var closeBtnInConnectionWindow = GUILayout.Toggle(SettingsSystem.CurrentSettings.CloseBtnInConnectionWindow, LocalizationContainer.OptionsWindowText.ShowClose, ButtonStyle); if (closeBtnInConnectionWindow != SettingsSystem.CurrentSettings.CloseBtnInConnectionWindow) { SettingsSystem.CurrentSettings.CloseBtnInConnectionWindow = closeBtnInConnectionWindow; SettingsSystem.SaveSettings(); } GUILayout.Space(10); GUILayout.Label(LocalizationContainer.OptionsWindowText.GenerateLmpModControl); if (GUILayout.Button(LocalizationContainer.OptionsWindowText.GenerateBlackList)) { ModSystem.Singleton.GenerateModControlFile(false); } if (GUILayout.Button(LocalizationContainer.OptionsWindowText.GenerateWhiteList)) { ModSystem.Singleton.GenerateModControlFile(true); } UniverseConverterWindow.Singleton.Display = GUILayout.Toggle(UniverseConverterWindow.Singleton.Display, LocalizationContainer.OptionsWindowText.GenerateUniverse, ButtonStyle); GUILayout.Space(10); GUILayout.BeginHorizontal(); GUILayout.Label(LocalizationContainer.OptionsWindowText.Toolbar, SmallOption); if (GUILayout.Button(ToolbarMode, ButtonStyle)) { var newSetting = (int)SettingsSystem.CurrentSettings.ToolbarType + 1; //Overflow to 0 if (!Enum.IsDefined(typeof(LmpToolbarType), newSetting)) { newSetting = 0; } SettingsSystem.CurrentSettings.ToolbarType = (LmpToolbarType)newSetting; SettingsSystem.SaveSettings(); UpdateToolbarString(); ToolbarSystem.Singleton.ToolbarChanged(); } GUILayout.EndHorizontal(); #if DEBUG DrawAdvancedDebugOptions(); #endif GUILayout.FlexibleSpace(); if (GUILayout.Button(LocalizationContainer.OptionsWindowText.Close, ButtonStyle)) { Display = false; } GUILayout.EndVertical(); }
public StudentAttestationExamView(StudentLessonEntity studentLesson, StudentViewPageModel model, int order) { _model = model; this.StudentLesson = studentLesson; this.Header = LocalizationContainer.Interpolate("page.student.view.attestation.header.label", order); }
static void InitLocalization() { language = (Enums.Languages)Enum.Parse(typeof(Enums.Languages), PlayerPrefs.GetString("Language", "EU")); loc = LocalizationContainer.Load(); }
private ContentType GetOrCreateContentType(string[] normalizedKey, LocalizationContainer localizationContainer) { var basePath = normalizedKey[1]; var contentTypeName = basePath + "LocalizationPage"; var existingContentType = _contentTypeRepository.Service.Load(contentTypeName); if (existingContentType != null) return existingContentType; var contentType = new PageType { Name = contentTypeName, DisplayName = string.Format("[Localization] {0}", contentTypeName), }; _contentTypeRepository.Service.Save(contentType); var basePathProperty = new PropertyDefinition { ContentTypeID = contentType.ID, ID = 0, DisplayEditUI = false, ExistsOnModel = false, Name = "BasePath", Type = _stringPropertyDefinitionType }; _propertyDefinitionRepository.Service.Save(basePathProperty); var writableClone = (ContentType)contentType.CreateWritableClone(); writableClone.PropertyDefinitions.Add(basePathProperty); _contentTypeRepository.Service.Save(writableClone); var containerContentType = _contentTypeRepository.Service.Load(localizationContainer.ContentTypeID); var availableSetting = _availableContentTypeRepository.Service.GetSetting(containerContentType); availableSetting.Availability = Availability.Specific; availableSetting.AllowedContentTypeNames.Add(contentType.Name); _availableContentTypeRepository.Service.RegisterSetting(containerContentType, availableSetting); return contentType; }