页面多语系自动切换-.resx

实现这个需要应用到微软提供的本地资源文件Resources,实际上就是一种key  value的形式。

语言自动切换原理有两种

  1. 读取浏览器的语言首选项
  2. 根据IP网段进行识别。比如有的人通过VPN连接到TW,浏览器会自动切换到繁体模式。可以尝试连到淘宝或者google,你就懂了。

以下写个小Demo:

   创建一个aspx页面,拉个Lable控件,Text的value如下:

   

 切换到“设计”:

选择“工具” ->"生成本地资源"

这样再返回看你的项目,会生成一个对应的文件夹App_LocalResources,下面会根据你的页面名称创建一个资源文件test.aspx.resx   .resx是资源文件的后缀名

这个时候aspx页面会自动生成这些标识,这些的作用就是用来注册到资源文件,当页面运行时,会去找test.aspx.resx这个资源文件 ,看是否有提供相符合的语言版本。

另外,在这个Lable的Text值,是默认的语言

这时再创建一个resx,我习惯直接复制系统帮我们自动生成的resx文件,这样在开发中就省去了很多麻烦了。这个例子只演示下繁简体的切换,注意下图的资源文件的命名方式。这个是固定的命名规则

即:aaa.aspx.resx   如果是中文的resx :aaa.aspx.zh-CN.resx   ,如果需要更多的语言支持,自己谷歌或百度下

看下页面的效果:IE 和Chrome对比   ,为了模拟出效果,chrome为简体   IE(11)为繁体   ,设置浏览器的语言首选项,可以看下图

当然,这边会有更多的拓展,

    比如如果是以前的页面已经做了资源文件了,现在需要多加个功能标题,用什么方式去修改呢?

    再或者项目中需要把js的提示语也改成有繁简的怎么改了?

    aspx页面cs后台,怎么去调用资源文件呢?

              这些问题留给大家,有需要帮助的,可以给我留个言~

原文地址:https://www.cnblogs.com/byvar/p/4012861.html