add:i18n
This commit is contained in:
@@ -94,6 +94,19 @@ namespace Ink_Canvas
|
||||
处于画板模式内:Topmost == false / currentMode != 0
|
||||
处于 PPT 放映内:BtnPPTSlideShowEnd.Visibility
|
||||
*/
|
||||
try
|
||||
{
|
||||
var preferredLanguage = Settings?.Appearance?.Language;
|
||||
if (!string.IsNullOrWhiteSpace(preferredLanguage))
|
||||
{
|
||||
LocalizationHelper.TrySetCulture(preferredLanguage);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogHelper.WriteLogToFile($"应用首选界面语言失败: {ex.Message}", LogHelper.LogType.Error);
|
||||
}
|
||||
|
||||
InitializeComponent();
|
||||
|
||||
BlackboardLeftSide.Visibility = Visibility.Collapsed;
|
||||
@@ -1473,6 +1486,40 @@ namespace Ink_Canvas
|
||||
AddTouchSupportToSliders();
|
||||
}
|
||||
|
||||
private void ApplyLanguageFromSettings()
|
||||
{
|
||||
try
|
||||
{
|
||||
if (ComboBoxLanguage == null || Settings?.Appearance == null) return;
|
||||
|
||||
var preferredLanguage = Settings.Appearance.Language ?? string.Empty;
|
||||
int index;
|
||||
|
||||
if (string.IsNullOrWhiteSpace(preferredLanguage))
|
||||
{
|
||||
index = 0;
|
||||
}
|
||||
else if (string.Equals(preferredLanguage, "zh-CN", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
index = 1;
|
||||
}
|
||||
else if (string.Equals(preferredLanguage, "en-US", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
index = 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
index = 0;
|
||||
}
|
||||
|
||||
ComboBoxLanguage.SelectedIndex = index;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogHelper.WriteLogToFile($"初始化语言选项失败: {ex.Message}", LogHelper.LogType.Error);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 响应显示器/分辨率配置变化:在检测启用时显示分辨率变更通知,并在后台检查悬浮工具栏是否位于屏幕之外,若是则在延迟后尝试将其通过动画恢复到可见区域(在演示模式下使用不同的动画偏移)。
|
||||
@@ -4500,6 +4547,43 @@ namespace Ink_Canvas
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void ComboBoxLanguage_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (!isLoaded) return;
|
||||
if (Settings?.Appearance == null) return;
|
||||
if (ComboBoxLanguage == null) return;
|
||||
|
||||
var index = ComboBoxLanguage.SelectedIndex;
|
||||
string language;
|
||||
|
||||
switch (index)
|
||||
{
|
||||
case 1:
|
||||
language = "zh-CN";
|
||||
break;
|
||||
case 2:
|
||||
language = "en-US";
|
||||
break;
|
||||
case 0:
|
||||
default:
|
||||
language = string.Empty;
|
||||
break;
|
||||
}
|
||||
|
||||
Settings.Appearance.Language = language;
|
||||
SaveSettingsToFile();
|
||||
ShowNotification("已更新界面语言设置,重启应用后生效。");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogHelper.WriteLogToFile($"切换界面语言时出错: {ex.Message}", LogHelper.LogType.Error);
|
||||
ShowNotification("切换界面语言失败。");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 应用指定主题
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user