怎么实现WPF多语言动态切换?

怎么实现WPF多语言动态切换?

有网友看了上一篇文章《C# 多语言利器 - ResX Manager》后,提出疑问:这个多语言切换不重启不能刷新,有没有方案?

最后更新 2021-02-17 09: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-01-26

WPF 借助自定义 XML 文件实现国际化

本文详细介绍了在WPF程序中使用自定义XML文件实现国际化的方法,包括安装必备NuGet包、动态获取语言列表、动态切换语言、在代码和xaml界面中使用翻译字符串等内容,同时提供了源码链接,帮助开发者轻松实现WPF应用的国际化。

继续阅读