diff --git a/src/Main/Base/Project/Src/Gui/WorkbenchSingleton.cs b/src/Main/Base/Project/Src/Gui/WorkbenchSingleton.cs index eab1cc30f2..1af201ad70 100644 --- a/src/Main/Base/Project/Src/Gui/WorkbenchSingleton.cs +++ b/src/Main/Base/Project/Src/Gui/WorkbenchSingleton.cs @@ -62,7 +62,9 @@ namespace ICSharpCode.SharpDevelop.Gui public static void InitializeWorkbench(IWorkbench workbench, IWorkbenchLayout layout) { WorkbenchSingleton.workbench = workbench; - + + LanguageService.ValidateLanguage(); + DisplayBindingService.InitializeService(); LayoutConfiguration.LoadLayoutConfiguration(); FileService.InitializeService(); diff --git a/src/Main/Base/Project/Src/Services/Language/LanguageService.cs b/src/Main/Base/Project/Src/Services/Language/LanguageService.cs index 949597353b..49647df985 100644 --- a/src/Main/Base/Project/Src/Services/Language/LanguageService.cs +++ b/src/Main/Base/Project/Src/Services/Language/LanguageService.cs @@ -58,5 +58,13 @@ namespace ICSharpCode.SharpDevelop } LanguageService.languages = languages.AsReadOnly(); } + + /// + /// Ensures that the active language exists + /// + public static void ValidateLanguage() + { + ResourceService.Language = GetLanguage(ResourceService.Language).Code; + } } } diff --git a/src/Main/Core/Project/Src/Services/ResourceService/ResourceService.cs b/src/Main/Core/Project/Src/Services/ResourceService/ResourceService.cs index 163470aec5..0ccfbffe37 100644 --- a/src/Main/Core/Project/Src/Services/ResourceService/ResourceService.cs +++ b/src/Main/Core/Project/Src/Services/ResourceService/ResourceService.cs @@ -42,7 +42,9 @@ namespace ICSharpCode.Core return PropertyService.Get(uiLanguageProperty, Thread.CurrentThread.CurrentUICulture.Name); } set { - PropertyService.Set(uiLanguageProperty, value); + if (Language != value) { + PropertyService.Set(uiLanguageProperty, value); + } } }