From 4c874fa50bb6840ec9811f9a0240c99b02356bda Mon Sep 17 00:00:00 2001 From: CJKmkp <2564608840@qq.com> Date: Mon, 23 Feb 2026 14:31:48 +0800 Subject: [PATCH] add:i18n --- Ink Canvas/App.xaml.cs | 13 +-- Ink Canvas/MainWindow.xaml | 87 +++++++--------- Ink Canvas/MainWindow.xaml.cs | 11 +- Ink Canvas/MarkupExtensions/I18nExtension.cs | 20 ++++ Ink Canvas/Properties/Strings.en-US.resx | 103 +++++++++++++++++++ Ink Canvas/Properties/Strings.resx | 103 +++++++++++++++++++ 6 files changed, 277 insertions(+), 60 deletions(-) create mode 100644 Ink Canvas/MarkupExtensions/I18nExtension.cs diff --git a/Ink Canvas/App.xaml.cs b/Ink Canvas/App.xaml.cs index 38888ffa..4aaadbeb 100644 --- a/Ink Canvas/App.xaml.cs +++ b/Ink Canvas/App.xaml.cs @@ -18,6 +18,7 @@ using System.Windows.Input; using System.Windows.Threading; using Application = System.Windows.Application; using MessageBox = System.Windows.MessageBox; +using Ink_Canvas.Properties; using SplashScreen = Ink_Canvas.Windows.SplashScreen; using Timer = System.Threading.Timer; using Sentry; @@ -645,7 +646,7 @@ namespace Ink_Canvas } } - Ink_Canvas.MainWindow.ShowNewMessage("抱歉,出现未预期的异常,可能导致 InkCanvasForClass 运行不稳定。\n建议保存墨迹后重启应用。"); + Ink_Canvas.MainWindow.ShowNewMessage(Strings.GetString("Msg_UnexpectedError")); LogHelper.NewLog(e.Exception.ToString()); // 记录到崩溃日志 @@ -661,7 +662,7 @@ namespace Ink_Canvas StartupCount.Increment(); if (StartupCount.GetCount() >= 5) { - MessageBox.Show("检测到程序已连续重启5次,已停止自动重启。请联系开发者或检查系统环境。", "重启次数过多", MessageBoxButton.OK, MessageBoxImage.Error); + MessageBox.Show(Strings.GetString("Msg_RestartLimit"), Strings.GetString("Msg_RestartLimitTitle"), MessageBoxButton.OK, MessageBoxImage.Error); StartupCount.Reset(); Environment.Exit(1); } @@ -699,7 +700,7 @@ namespace Ink_Canvas if (ShouldShowSplashScreen() && !IsLaunchByFileOrUri(e.Args)) { ShowSplashScreen(); - SetSplashMessage("正在启动 Ink Canvas..."); + SetSplashMessage(Strings.GetString("Splash_Starting")); SetSplashProgress(20); await Task.Delay(500); @@ -1236,7 +1237,7 @@ namespace Ink_Canvas StartupCount.Increment(); if (StartupCount.GetCount() >= 5) { - MessageBox.Show("检测到程序已连续重启5次,已停止自动重启。请联系开发者或检查系统环境。", "重启次数过多", MessageBoxButton.OK, MessageBoxImage.Error); + MessageBox.Show(Strings.GetString("Msg_RestartLimit"), Strings.GetString("Msg_RestartLimitTitle"), MessageBoxButton.OK, MessageBoxImage.Error); StartupCount.Reset(); Environment.Exit(1); } @@ -1261,7 +1262,7 @@ namespace Ink_Canvas StartupCount.Increment(); if (StartupCount.GetCount() >= 5) { - MessageBox.Show("检测到程序已连续重启5次,已停止自动重启。请联系开发者或检查系统环境。", "重启次数过多", MessageBoxButton.OK, MessageBoxImage.Error); + MessageBox.Show(Strings.GetString("Msg_RestartLimit"), Strings.GetString("Msg_RestartLimitTitle"), MessageBoxButton.OK, MessageBoxImage.Error); StartupCount.Reset(); Environment.Exit(1); } @@ -1338,7 +1339,7 @@ namespace Ink_Canvas StartupCount.Increment(); if (StartupCount.GetCount() >= 5) { - MessageBox.Show("检测到程序已连续重启5次,已停止自动重启。请联系开发者或检查系统环境。", "重启次数过多", MessageBoxButton.OK, MessageBoxImage.Error); + MessageBox.Show(Strings.GetString("Msg_RestartLimit"), Strings.GetString("Msg_RestartLimitTitle"), MessageBoxButton.OK, MessageBoxImage.Error); StartupCount.Reset(); Environment.Exit(1); } diff --git a/Ink Canvas/MainWindow.xaml b/Ink Canvas/MainWindow.xaml index 39ed9ed9..247fdc67 100644 --- a/Ink Canvas/MainWindow.xaml +++ b/Ink Canvas/MainWindow.xaml @@ -9,6 +9,7 @@ xmlns:controls="clr-namespace:Ink_Canvas.Controls" xmlns:Windows="clr-namespace:Ink_Canvas.Windows" xmlns:props="clr-namespace:Ink_Canvas.Properties" + xmlns:i18n="clr-namespace:Ink_Canvas.MarkupExtensions" mc:Ignorable="d" AllowsTransparency="True" WindowStyle="None" @@ -161,7 +162,7 @@ - @@ -443,7 +444,7 @@ + Text="{i18n:I18n Key=Settings_AutoSaveHint}" /> @@ -471,9 +472,7 @@ + FontWeight="Bold" Content="{i18n:I18n Key=Btn_Restart}"/> @@ -543,18 +538,16 @@ - - - 选择软件运行模式。仅PPT模式下,软件将完全隐藏,仅在PPT放映时出现。(实验性功能,可能不稳定。) - + - @@ -564,14 +557,12 @@ - - - 打开新的设置窗口,提供更丰富的设置选项和更好的用户体验。(开发中) - -