add:i18n
This commit is contained in:
@@ -1143,6 +1143,20 @@
|
|||||||
<ComboBoxItem Content="{i18n:I18n Key=Theme_System}" FontFamily="Microsoft YaHei UI" />
|
<ComboBoxItem Content="{i18n:I18n Key=Theme_System}" FontFamily="Microsoft YaHei UI" />
|
||||||
</ComboBox>
|
</ComboBox>
|
||||||
</ui:SimpleStackPanel>
|
</ui:SimpleStackPanel>
|
||||||
|
<ui:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left">
|
||||||
|
<TextBlock Foreground="#fafafa" Text="{i18n:I18n Key=Theme_LanguageLabel}" VerticalAlignment="Center"
|
||||||
|
FontSize="14" Margin="0,0,16,0" />
|
||||||
|
<ComboBox Name="ComboBoxLanguage" FontFamily="Microsoft YaHei UI"
|
||||||
|
SelectedIndex="0"
|
||||||
|
SelectionChanged="ComboBoxLanguage_SelectionChanged"
|
||||||
|
Width="160">
|
||||||
|
<ComboBoxItem Content="{i18n:I18n Key=Theme_Language_System}" FontFamily="Microsoft YaHei UI" />
|
||||||
|
<ComboBoxItem Content="{i18n:I18n Key=Theme_Language_ChineseSimplified}" FontFamily="Microsoft YaHei UI" />
|
||||||
|
<ComboBoxItem Content="{i18n:I18n Key=Theme_Language_English}" FontFamily="Microsoft YaHei UI" />
|
||||||
|
</ComboBox>
|
||||||
|
</ui:SimpleStackPanel>
|
||||||
|
<TextBlock Text="{i18n:I18n Key=Theme_Language_RestartHint}"
|
||||||
|
TextWrapping="Wrap" Foreground="#a1a1aa" />
|
||||||
<ui:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left">
|
<ui:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Left">
|
||||||
<TextBlock Foreground="#fafafa" Text="{i18n:I18n Key=Theme_EnableSplash}" VerticalAlignment="Center"
|
<TextBlock Foreground="#fafafa" Text="{i18n:I18n Key=Theme_EnableSplash}" VerticalAlignment="Center"
|
||||||
FontSize="14" Margin="0,0,16,0" />
|
FontSize="14" Margin="0,0,16,0" />
|
||||||
|
|||||||
@@ -94,6 +94,19 @@ namespace Ink_Canvas
|
|||||||
处于画板模式内:Topmost == false / currentMode != 0
|
处于画板模式内:Topmost == false / currentMode != 0
|
||||||
处于 PPT 放映内:BtnPPTSlideShowEnd.Visibility
|
处于 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();
|
InitializeComponent();
|
||||||
|
|
||||||
BlackboardLeftSide.Visibility = Visibility.Collapsed;
|
BlackboardLeftSide.Visibility = Visibility.Collapsed;
|
||||||
@@ -1473,6 +1486,40 @@ namespace Ink_Canvas
|
|||||||
AddTouchSupportToSliders();
|
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>
|
/// <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>
|
||||||
/// 应用指定主题
|
/// 应用指定主题
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -720,4 +720,9 @@
|
|||||||
<data name="Booth_Correction" xml:space="preserve"><value>Correct</value></data>
|
<data name="Booth_Correction" xml:space="preserve"><value>Correct</value></data>
|
||||||
<data name="Booth_Capture" xml:space="preserve"><value>Capture</value></data>
|
<data name="Booth_Capture" xml:space="preserve"><value>Capture</value></data>
|
||||||
<data name="Booth_Rotate" xml:space="preserve"><value>Rotate</value></data>
|
<data name="Booth_Rotate" xml:space="preserve"><value>Rotate</value></data>
|
||||||
|
<data name="Theme_LanguageLabel" xml:space="preserve"><value>UI language</value></data>
|
||||||
|
<data name="Theme_Language_System" xml:space="preserve"><value>Follow system</value></data>
|
||||||
|
<data name="Theme_Language_ChineseSimplified" xml:space="preserve"><value>Chinese (Simplified)</value></data>
|
||||||
|
<data name="Theme_Language_English" xml:space="preserve"><value>English</value></data>
|
||||||
|
<data name="Theme_Language_RestartHint" xml:space="preserve"><value>You need to restart the app for language changes to fully take effect.</value></data>
|
||||||
</root>
|
</root>
|
||||||
|
|||||||
@@ -735,4 +735,9 @@
|
|||||||
<data name="Booth_Correction" xml:space="preserve"><value>矫正</value></data>
|
<data name="Booth_Correction" xml:space="preserve"><value>矫正</value></data>
|
||||||
<data name="Booth_Capture" xml:space="preserve"><value>拍照</value></data>
|
<data name="Booth_Capture" xml:space="preserve"><value>拍照</value></data>
|
||||||
<data name="Booth_Rotate" xml:space="preserve"><value>旋转</value></data>
|
<data name="Booth_Rotate" xml:space="preserve"><value>旋转</value></data>
|
||||||
|
<data name="Theme_LanguageLabel" xml:space="preserve"><value>界面语言</value></data>
|
||||||
|
<data name="Theme_Language_System" xml:space="preserve"><value>跟随系统</value></data>
|
||||||
|
<data name="Theme_Language_ChineseSimplified" xml:space="preserve"><value>简体中文</value></data>
|
||||||
|
<data name="Theme_Language_English" xml:space="preserve"><value>English</value></data>
|
||||||
|
<data name="Theme_Language_RestartHint" xml:space="preserve"><value>更改界面语言后需要重启应用程序才能完全生效。</value></data>
|
||||||
</root>
|
</root>
|
||||||
@@ -310,6 +310,8 @@ namespace Ink_Canvas
|
|||||||
public int QuickColorPaletteDisplayMode { get; set; } = 1;
|
public int QuickColorPaletteDisplayMode { get; set; } = 1;
|
||||||
[JsonProperty("enableHotkeysInMouseMode")]
|
[JsonProperty("enableHotkeysInMouseMode")]
|
||||||
public bool EnableHotkeysInMouseMode { get; set; } = false;
|
public bool EnableHotkeysInMouseMode { get; set; } = false;
|
||||||
|
[JsonProperty("language")]
|
||||||
|
public string Language { get; set; } = "";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user