怎麼實現wpf多語言動態切換?

怎麼實現wpf多語言動態切換?

有網友看了上一篇文章《c# 多語言利器 - resx manager》後,提出疑問:這個多語言切換不重啟不能刷新,有沒有方案?

最后更新 2021/2/17 上午9:28
沙漠尽头的狼
预计阅读 2 分钟
分类
WPF
标签
.NET C# WPF 國際化 多語言

有网友看了上一篇文章《C# 多语言利器 - ResX Manager》后,提出疑问:

這個多語言切換不重啟不能刷新,有沒有方案?

不重启多语言切换有方案吗?

其實是有的,國內一開源大神提供了一個 wpf 擴展庫,其中就有多語言切換實現,我們先看效果:

动态多语言切换展示

具體使用請接著往下看:

1 開源庫實現多語言動態切換

GitHub 地址:点击访问

WpfExtensions仓库详情

怎麼安裝?

直接 nuget 搜索安裝即可:

NuGet搜索安装

2 如何使用?

2.1主工程初始化之前

添加資源文件引用

I18nManager.Instance.Add(LQClass.AdminForWPF.I18nResources.UiResource.ResourceManager);

2.2 prism 模塊中初始化

如果使用Prism实现模块化,也需要在模块构造函数中引用模块的资源文件

I18nManager.Instance.Add(LQClass.ModuleOfLog.I18nResources.UiResource.ResourceManager);

動態語言切換

這裡比較靈活了,切換語言時,保存語言標識到配置文件,程式啟動時設置配置的語言即可,動態切換語言時也是相同的代碼:

var culture = new System.Globalization.CultureInfo(language);
I18nManager.Instance.CurrentUICulture = culture;

3 多語言參考項目

Keep Exploring

延伸阅读

更多文章
同分类 / 同标签 2025/1/26

wpf 藉助自定義 xml 文件實現國際化

本文詳細居間了在wpf程式中使用自定義xml文件實現國際化的方法,包括安裝必備nuget包、動態獲取語言列表、動態切換語言、在代碼和xaml界面中使用翻譯字符串等內容,同時提供了源碼連結,幫助開發者輕鬆實現wpf應用的國際化。

继续阅读