WPF多语言国际化,中英文切换
创始人
2024-11-23 02:35:11
0

通过切换资源文件的形式实现中英文一键切换

在项目中新建Language文件夹,添加资源字典(xaml文件),中文英文各一个。

在资源字典中写上想中英文切换的字符串,需要注意,必须指定key值,并且中英文的Key值需要一一对应(因为到时候是按照Key值替换的)

在前端使用的时候,就不要用固定的字符串了,而是绑定到动态资源,注意一定是动态资源DynamicResource,如果写成静态资源就不能切换了

DynamicResource后面的值就是在资源文件中定义的Key值

首先要先去app.xaml里设置一下初始的语言

这是加载资源文件的意思,后面的Source写你自己想要初始加载的语言xaml文件的路径

然后中英文切换时,是在后台代码里切换资源文件,比如点击切换语言按钮,调用下面的切换语言方法。

需要注意!!!

需要注意!!!

需要注意!!!重要的事情说三遍!我在上面app.xaml里,还载入了一些其他资源文件,可以看到语言资源文件是第三个,所以在下面切换语言时,是

Application.Current.Resources.MergedDictionaries[2].Source

下标为2,意思是将第三个资源文件(即我们的语言资源文件)替换,在使用时需要根据实际情况进行修改

    ///      /// 语言选项     ///      public enum Language     {         Chinese,         English     }          public Language Language { get; set; }          ///          /// 切换语言         ///          private void SwitchLanguage()         {             try             {                 if (Language == Language.Chinese)                 {                     Language = Language.English;                     string english = "pack://application:,,,/Language/English.xaml";                     Application.Current.Resources.MergedDictionaries[2].Source = new Uri(english);                 }                 else                 {                     Language = Language.Chinese;                     string chinese = "pack://application:,,,/Language/Chinese.xaml";                     Application.Current.Resources.MergedDictionaries[2].Source = new Uri(chinese);                 }             }             catch (Exception e)             {                 //错误处理             }         }

点击切换语言按钮,调用这个切换语言方法,因为我们页面绑定的是动态的资源,就能发现页面的语言已经实现了切换。

这是界面上直接绑定时的语言切换,有些人可能遇到一些像写日志、弹窗这种没办法动态绑定的情况,那就需要通过后台代码来通过Key值读出资源的字符串了

string text = Application.Current.FindResource("想查找资源的Key值") as String;

这样在是英文资源的时候,返回的字符串就是英文,在是中文资源的时候,字符串就是中文的。

就能实现非页面绑定的中英文切换啦。

博主会不定时更新WPF技术,分享技术代码,感兴趣的小伙伴可以关注一波~

相关内容

热门资讯

7分钟介绍!德扑计算胜率软件,... 7分钟介绍!德扑计算胜率软件,德州ai辅助有用(就是真的有挂);1、进入到德州ai辅助有用黑科技之后...
6分钟介绍!微扑克辅助安卓版本... 6分钟介绍!微扑克辅助安卓版本,WePoKe外挂(都是真的有挂)WePoKe外挂辅助器中分为三种模型...
七分钟透视!德州可能有外挂吗,... 七分钟透视!德州可能有外挂吗,wpk发牌逻辑(都是真的有挂)1、超多福利:超高返利,海量正版游戏,w...
两分钟总结!轰趴大菠萝怎么提高... 两分钟总结!轰趴大菠萝怎么提高胜率,wepoke黑科技(好像真的有挂)1、下载好wepoke黑科技辅...
六分钟普及!鱼扑克有挂吗,德扑... 六分钟普及!鱼扑克有挂吗,德扑ai智能机器人(果真真的有挂)1、用户打开应用后不用登录就可以直接使用...
4分钟实锤!红龙扑克是不是有问... 4分钟实锤!红龙扑克是不是有问题,aapoker透明挂(本来真的有挂)1、每一步都需要思考,不同水平...
十分钟推荐!aapoker 辅... 十分钟推荐!aapoker 辅助工具,微扑克ai辅助(本来真的有挂)1、微扑克ai辅助系统规律教程、...
十分钟发现!微扑克怎么加入俱乐... 十分钟发现!微扑克怎么加入俱乐部,智星德州菠萝辅助器(原来真的有挂)1、下载好智星德州菠萝辅助器辅助...
2分钟曝光!governoro... 2分钟曝光!governorofpoker3辅助,德州免费辅助神器app(好像真的有挂)1、点击下载...
两分钟脚本!德扑之星好牌,德州... 两分钟脚本!德扑之星好牌,德州ai辅助有用(都是真的有挂);1、很好的工具软件,可以解锁游戏的德州a...