From d328c3ae4d07f0db9a0d89356376590e96b8590e Mon Sep 17 00:00:00 2001 From: Colin Date: Mon, 20 May 2019 21:11:16 +0100 Subject: [PATCH] Added localisation support --- Meade.net/Localization/LocalisationHelper.cs | 36 ++++ Meade.net/Meade.net.csproj | 2 + Meade.net/SetupDialogForm.designer.cs | 45 +--- Meade.net/SetupDialogForm.resx | 204 +++++++++++++++++++ 4 files changed, 251 insertions(+), 36 deletions(-) create mode 100644 Meade.net/Localization/LocalisationHelper.cs diff --git a/Meade.net/Localization/LocalisationHelper.cs b/Meade.net/Localization/LocalisationHelper.cs new file mode 100644 index 0000000..a8ac3a7 --- /dev/null +++ b/Meade.net/Localization/LocalisationHelper.cs @@ -0,0 +1,36 @@ +using System.Globalization; +using System.Threading; +using System.Resources; +using System.Reflection; + +namespace ASCOM.Meade.net.Localization +{ + internal class LocalisationHelper + { + private const string LocalizationNamespace = "LocalisationTest.Localization.Resources.Localization"; + ResourceManager _resourceManager; + + public LocalisationHelper() + { + _resourceManager = new ResourceManager(LocalizationNamespace, Assembly.GetExecutingAssembly()); + + SetLocalisation(CultureInfo.CurrentCulture.Name); + } + + internal void SetLocalisation(string name) + { + var cultureInfo = new CultureInfo(name); + + CultureInfo.DefaultThreadCurrentCulture = cultureInfo; + CultureInfo.DefaultThreadCurrentUICulture = cultureInfo; + + Thread.CurrentThread.CurrentCulture = cultureInfo; + Thread.CurrentThread.CurrentUICulture = cultureInfo; + } + + internal string GetString(string key) + { + return _resourceManager.GetString(key); + } + } +} diff --git a/Meade.net/Meade.net.csproj b/Meade.net/Meade.net.csproj index 18957ff..fa3e6a1 100644 --- a/Meade.net/Meade.net.csproj +++ b/Meade.net/Meade.net.csproj @@ -81,6 +81,7 @@ frmMain.cs + @@ -136,6 +137,7 @@ true +