DotNetCore 3.0 助力 WPF本地化
概览 随着我们的应用程序越来越受欢迎,我们的下一步将要开发多语言功能。方便越来越多的国家使用我们中国的应用程序, 基于 WPF 本地化,我们很多时候使用的是系统资源文件,可是动态切换本地化,就比较麻烦了。 有没有一种方法既可以适用系统的资源文件,又能方便快捷的切换本地化呢? 实现思路 现在我们将要实现的是基于 DotNetCore 3.0 以上版本 and WPF 桌面应用程序模块化的多语言功能。 动态切换多语言思路: 把所有模块的资源文件添加到字典集合。 将资源文件里的key,绑定到前台。 通过通知更改 CurrentCulture 多语言来使用改变的语言文件里的key。 通过绑定 Binding 拼接Path 在输出。 搭建模拟业务项目 创建一个WPF App(.NET Core)应用程序 创建完成后,我们需要引入业务A模块及业务B模块和业务帮助模块 PS:根据自己的业务需要来完成项目的搭建。本教程完全适配多语言功能。 使用.resx资源文件 在各个模块里添加 Strings 文件夹用来包含 各个国家和地区的语言文件。 多语言可以参考: https://github.com/UnRunDeaD/WPF---Localization/blob/master/ComboListLanguages.txt 资源文件可以放在任意模块内,比如业务模块A ,主程序,底层业务,控件工具集等