WPToolkit中的ToggleSwitch开关控件是比较常用的控件,之前在做的的时候遇到一个问题,默认语言改为中文,手机系统语言也为中文,但是开关状态无法应用本地化的语言库,开关状态总是显示On/Off,而产品要求显示中文的开关
通过Nuget下载下来的WPToolkit包中是包含中文的语言的
经过一番摸索,终于找到原因了
在中文版的VS开发环境中,生成的项目默认是中文语言的zh-CN,定义在 AssemblyInfo.cs 文件中
我们需要把项目的默认语言改为英文 en-US,才能让项目自动引用多国语言包,自动应用本地化
把 AssemblyInfo.cs 文件中的 NeutralResourcesLanguageAttribute 设置为 en-US
[assembly: NeutralResourcesLanguageAttribute("en-US")]
本地化成功,开关文字显示中文,如果项目语言中添加了其他语言,在打包的时候,VS会自动把相关的语言包也一起打包
项目信息页面:
xap解包后可以看到,除了默认语言外,其他语言都有多了一个本地化文件夹,该文件夹包含了本地化语言资源(如果添加了其他语言,打包的时候也会把相应的语言包引用进来)