mirror of
https://github.com/MaaAssistantArknights/MaaAssistantArknights.git
synced 2026-07-18 10:10:45 +08:00
feat: 允许选择WPFGUI中的干员名称显示语言
This commit is contained in:
@@ -30,6 +30,7 @@ namespace MaaWpfGui.Constants
|
||||
public const string ConfigurationCron = "Cron";
|
||||
|
||||
public const string Localization = "GUI.Localization";
|
||||
public const string OperNameLanguage = "GUI.OperNameLanguage";
|
||||
public const string UseTray = "GUI.UseTray";
|
||||
public const string MinimizeToTray = "GUI.MinimizeToTray";
|
||||
public const string HideCloseButton = "GUI.HideCloseButton";
|
||||
|
||||
@@ -100,7 +100,7 @@ namespace MaaWpfGui.Helper
|
||||
return null;
|
||||
}
|
||||
|
||||
language ??= Instances.SettingsViewModel.Language;
|
||||
language ??= Instances.SettingsViewModel.OperNameLocalization;
|
||||
|
||||
return language switch
|
||||
{
|
||||
|
||||
@@ -404,6 +404,9 @@
|
||||
<system:String x:Key="AutoRoguelike">自动肉鸽</system:String>
|
||||
<system:String x:Key="ReclamationAlgorithm">生息演算·沙中之火</system:String>
|
||||
<system:String x:Key="ReclamationAlgorithm2">生息演算·沙洲遗闻</system:String>
|
||||
<system:String x:Key="OperNameLanguage">干员名称显示语言</system:String>
|
||||
<system:String x:Key="OperNameLanguageMAA">跟随MAA</system:String>
|
||||
<system:String x:Key="OperNameLanguageClient">跟随游戏客户端</system:String>
|
||||
<system:String x:Key="Light">亮色</system:String>
|
||||
<system:String x:Key="Dark">暗色</system:String>
|
||||
<system:String x:Key="SyncWithOs">与系统同步</system:String>
|
||||
|
||||
@@ -1936,7 +1936,7 @@ namespace MaaWpfGui.ViewModels.UI
|
||||
continue;
|
||||
}
|
||||
|
||||
var localizedName = DataHelper.GetLocalizedCharacterName(name, _language);
|
||||
var localizedName = DataHelper.GetLocalizedCharacterName(name, OperNameLocalization);
|
||||
if (!string.IsNullOrEmpty(localizedName) && !(_clientType.Contains("YoStar") && DataHelper.GetLocalizedCharacterName(name, "en-us") == DataHelper.GetLocalizedCharacterName(name, "zh-cn")))
|
||||
{
|
||||
roguelikeCoreCharList.Add(localizedName);
|
||||
@@ -4428,6 +4428,15 @@ namespace MaaWpfGui.ViewModels.UI
|
||||
/// </summary>
|
||||
public List<CombinedData> LanguageList { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the list of operator name language settings
|
||||
/// </summary>
|
||||
public List<CombinedData> OperNameLanguageModeList { get; } =
|
||||
[
|
||||
new() { Display = LocalizationHelper.GetString("OperNameLanguageMAA"), Value = "OperNameLanguageMAA" },
|
||||
new() { Display = LocalizationHelper.GetString("OperNameLanguageClient"), Value = "OperNameLanguageClient" }
|
||||
];
|
||||
|
||||
/// <summary>
|
||||
/// Gets the list of dark mode.
|
||||
/// </summary>
|
||||
@@ -4763,6 +4772,51 @@ namespace MaaWpfGui.ViewModels.UI
|
||||
}
|
||||
}
|
||||
|
||||
private static readonly Dictionary<string, string> _clientLanguageMapper = new()
|
||||
{
|
||||
{ string.Empty, "zh-cn" },
|
||||
{ "Official", "zh-cn" },
|
||||
{ "Bilibili", "zh-cn" },
|
||||
{ "YoStarEN", "en-us" },
|
||||
{ "YoStarJP", "ja-jp" },
|
||||
{ "YoStarKR", "ko-kr" },
|
||||
{ "txwy", "zh-tw" },
|
||||
};
|
||||
|
||||
private string _operNameLanguage = ConfigurationHelper.GetValue(ConfigurationKeys.OperNameLanguage, "OperNameLanguageMAA");
|
||||
|
||||
public string OperNameLanguage
|
||||
{
|
||||
get => _operNameLanguage;
|
||||
|
||||
set
|
||||
{
|
||||
switch (value)
|
||||
{
|
||||
case "OperNameLanguageClient":
|
||||
ConfigurationHelper.SetValue(ConfigurationKeys.OperNameLanguage, value);
|
||||
break;
|
||||
case "OperNameLanguageMAA":
|
||||
default:
|
||||
ConfigurationHelper.SetValue(ConfigurationKeys.OperNameLanguage, "OperNameLanguageMAA");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public string OperNameLocalization
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_operNameLanguage == "OperNameLanguageClient")
|
||||
{
|
||||
return _clientLanguageMapper[ConfigurationHelper.GetValue(ConfigurationKeys.ClientType, string.Empty)];
|
||||
}
|
||||
|
||||
return _language;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region HotKey
|
||||
|
||||
@@ -93,6 +93,17 @@
|
||||
SelectedValue="{Binding Language}"
|
||||
SelectedValuePath="Value"
|
||||
Style="{StaticResource ComboBoxExtend}" />
|
||||
<ComboBox
|
||||
Width="180"
|
||||
Margin="10"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Center"
|
||||
hc:InfoElement.Title="{DynamicResource OperNameLanguage}"
|
||||
DisplayMemberPath="Display"
|
||||
ItemsSource="{Binding OperNameLanguageModeList}"
|
||||
SelectedValue="{Binding OperNameLanguage}"
|
||||
SelectedValuePath="Value"
|
||||
Style="{StaticResource ComboBoxExtend}" />
|
||||
<ComboBox
|
||||
Width="180"
|
||||
Margin="10"
|
||||
|
||||
Reference in New Issue
Block a user