怎麼實現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 多語言參考專案

繼續探索

延伸閱讀

更多文章
同分類 / 同標籤 2025/1/26

WPF 藉助自訂 XML 檔案實現國際化

本文詳細介紹了在WPF程式中使用自訂XML檔案實現國際化的方法,包括安裝必備NuGet套件、動態獲取語言清單、動態切換語言、在程式碼和XAML介面中使用翻譯字串等內容,同時提供了原始碼連結,幫助開發者輕鬆實現WPF應用程式的國際化。

繼續閱讀