asp.net mvc 多语言

来自百度经验:https://jingyan.baidu.com/article/20b68a88f0fbbd796dec6267.html

方法/步骤

 
  1.  

    创建asp.net mvc的项目 MVCResources

    asp.net mvc 多语言
    asp.net mvc 多语言
  2.  

    添加App_GlobalResources,步骤如下:

         右键MVCResources项目 -> 添加  ->  添加ASP.NET文件夹  -> App_GlobalResources(此时看到的不是文件夹的样子,等添加资源文件后,就会变成文件夹的样子)

    asp.net mvc 多语言
    asp.net mvc 多语言
  3.  

    添加不同语系的资源文件

        右键App_GlobalResources -> 添加 -> 新建项 -> 资源文件

        1)名称默认为 Resource1.resx

        2)再添加一个英文的资源文件:Resource1.en-US.resx

        3)如果需要,再添加其他语系的资源文件,但是同一类资源文件的名称前面需要一样。比如此处的Resource1必须都一样

    asp.net mvc 多语言
    asp.net mvc 多语言
    asp.net mvc 多语言
  4.  

    在资源文件中添加具体资源内容

        1)同一个资源在各个不同语系的资源文件中【名称】栏位值必须一样

        2)各个资源文件中的资源【名称】个数需要一样

        3)最终界面根据语言显示的是【值】栏位,所以,如果某个语系没有这个编码的【名称】,将会报错

    asp.net mvc 多语言
    asp.net mvc 多语言
  5.  

    添加HomeController与Index页面

    asp.net mvc 多语言
  6.  

    获取资源文件中【名称】=TestString1的值

         1)在Controller中获取资源文件值,传递到View中使用

         2)也可以直接在View中获取资源文件的值

    asp.net mvc 多语言
    asp.net mvc 多语言
    asp.net mvc 多语言
  7.  

    为站点指定语系,则不管浏览器设置为什么语系,都将按照此处设置的语系展示资源文件的内容

        在Web.config 的 system.web 节点下面加上指定UI要显示的语系,如显示为英文:

        <globalization uiCulture="en-US"/>

    asp.net mvc 多语言
    asp.net mvc 多语言
  8.  

    设置语系与浏览器语系相同

        在Web.config 的 system.web 节点下面加上如下内容:

        <globalization culture="auto" uiCulture="auto"/>

       后续如果要增加不同语系资源文件,不需要再次编译发布项目,拷贝资源文件到App_GlobalResources文件夹下即可

    asp.net mvc 多语言
    asp.net mvc 多语言
  9.  

posted @ 2020-03-12 16:03  心有灵犀_Arvin  阅读(148)  评论(0)    收藏  举报