From 7513ad2ddfb9bce638178ed70c745c1696c5ce8a Mon Sep 17 00:00:00 2001 From: uye <2396806385@qq.com> Date: Thu, 4 Aug 2022 14:50:34 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=88=87=E6=8D=A2=E8=AF=AD=E8=A8=80?= =?UTF-8?q?=E7=9A=84=E5=BC=B9=E7=AA=97=E6=8F=90=E7=A4=BA=E7=94=B1=E7=9B=AE?= =?UTF-8?q?=E6=A0=87=E8=AF=AD=E8=A8=80=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MeoAsstGui/Helper/Localization.cs | 8 +++++++- src/MeoAsstGui/ViewModels/SettingsViewModel.cs | 8 ++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/MeoAsstGui/Helper/Localization.cs b/src/MeoAsstGui/Helper/Localization.cs index 4c659480de..c68c2f4f4c 100644 --- a/src/MeoAsstGui/Helper/Localization.cs +++ b/src/MeoAsstGui/Helper/Localization.cs @@ -83,9 +83,15 @@ namespace MeoAsstGui /// Gets a localized string. /// /// The key of the string. + /// The language of the string /// The string. - public static string GetString(string key) + public static string GetString(string key, string culture = null) { + if (string.IsNullOrEmpty(culture)) + { + culture = Localization.culture; + } + var dictionary = new ResourceDictionary { Source = new Uri($@"Resources\Localizations\{culture}.xaml", UriKind.Relative), diff --git a/src/MeoAsstGui/ViewModels/SettingsViewModel.cs b/src/MeoAsstGui/ViewModels/SettingsViewModel.cs index 09df29f032..73edfe96df 100644 --- a/src/MeoAsstGui/ViewModels/SettingsViewModel.cs +++ b/src/MeoAsstGui/ViewModels/SettingsViewModel.cs @@ -1837,12 +1837,12 @@ namespace MeoAsstGui var backup = _language; ViewStatusStorage.Set("GUI.Localization", value); - System.Windows.Forms.MessageBoxManager.Yes = Localization.GetString("Ok"); - System.Windows.Forms.MessageBoxManager.No = Localization.GetString("ManualRestart"); + System.Windows.Forms.MessageBoxManager.Yes = Localization.GetString("Ok", value); + System.Windows.Forms.MessageBoxManager.No = Localization.GetString("ManualRestart", value); System.Windows.Forms.MessageBoxManager.Register(); var result = MessageBox.Show( - Localization.GetString("LanguageChangedTip"), - Localization.GetString("Tip"), + Localization.GetString("LanguageChangedTip", value), + Localization.GetString("Tip", value), MessageBoxButton.YesNo, MessageBoxImage.Question); System.Windows.Forms.MessageBoxManager.Unregister();