From 56b57d9ae23dbfa2f1640adc74c67f618771ca73 Mon Sep 17 00:00:00 2001 From: ManicSteiner Date: Tue, 20 Aug 2024 22:43:09 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=B9=B2=E5=91=98=E8=AF=86=E5=88=AB?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E6=8C=87=E5=AE=9A=E8=AF=AD=E8=A8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ViewModels/UI/RecognizerViewModel.cs | 56 ++++++++++++++----- 1 file changed, 41 insertions(+), 15 deletions(-) diff --git a/src/MaaWpfGui/ViewModels/UI/RecognizerViewModel.cs b/src/MaaWpfGui/ViewModels/UI/RecognizerViewModel.cs index 97bbfeffcb..9cd654f620 100644 --- a/src/MaaWpfGui/ViewModels/UI/RecognizerViewModel.cs +++ b/src/MaaWpfGui/ViewModels/UI/RecognizerViewModel.cs @@ -617,23 +617,49 @@ namespace MaaWpfGui.ViewModels.UI List> operHave = []; List> operNotHave = []; - string localizedName = ConfigurationHelper.GetValue(ConfigurationKeys.OperNameLanguage, string.Empty) == "OperNameLanguageClient" ? - ConfigurationHelper.GetValue(ConfigurationKeys.ClientType, string.Empty) switch + string localizedName; + string operNameLanguage = ConfigurationHelper.GetValue(ConfigurationKeys.OperNameLanguage, string.Empty); + + if (operNameLanguage == "OperNameLanguageClient") { - "Official" => "name", - "Bilibili" => "name", - "YoStarJP" => "name_jp", - "YoStarKR" => "name_kr", - "txwy" => "name_tw", - _ => "name_en", - } : ConfigurationHelper.GetValue(ConfigurationKeys.Localization, string.Empty) switch + localizedName = ConfigurationHelper.GetValue(ConfigurationKeys.ClientType, string.Empty) switch + { + "Official" => "name", + "Bilibili" => "name", + "YoStarJP" => "name_jp", + "YoStarKR" => "name_kr", + "txwy" => "name_tw", + _ => "name_en", + }; + } + else { - "zh-cn" => "name", - "ja-jp" => "name_jp", - "ko-kr" => "name_kr", - "zh-tw" => "name_tw", - _ => "name_en", - }; + string localization = ConfigurationHelper.GetValue(ConfigurationKeys.Localization, string.Empty); + if (operNameLanguage.Contains('.')) + { + if (operNameLanguage.Split('.')[0] == "OperNameLanguageForce") + { + localization = operNameLanguage.Split('.')[1] switch + { + "zh-cn" => "zh-cn", + "en-us" => "en-us", + "ja-jp" => "ja-jp", + "ko-kr" => "ko-kr", + "zh-tw" => "zh-tw", + _ => localization, + }; + } + } + + localizedName = localization switch + { + "zh-cn" => "name", + "ja-jp" => "name_jp", + "ko-kr" => "name_kr", + "zh-tw" => "name_tw", + _ => "name_en", + }; + } foreach (JObject operBox in operBoxes.Cast()) {