C#MVC多语言不使用RESX文件

时间:2016-04-01 15:09:48

标签: c# model-view-controller multilingual adminlte

我在Visual Studio中使用AdminLTE MVC。我想实现多语言系统,这样做的一种方法似乎是使用RESX文件。

我网站的默认语言是法语(fr)。 所以,我创建了2个文件并将它们保存在我的" / Resources /"文件夹:

enter image description here

我指定了" PublicResXFileCodeGenerator"每个RESX文件的属性。

然后,在我的 RouteConfig.cs 文件中,我添加了一个新的 routes.MapRoutes 来使用像www.mywebsite.com/fr/MyController这样的语言来执行网址:< / p>

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

       /* routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );*/

        routes.MapRoute(
          name: "ML",
          url: "{lang}/{controller}/{action}/{id}",
          defaults: new { lang = "fr", controller = "Home", action = "Index", id = UrlParameter.Optional }
        );
    }

对于一个简单的测试,我只在RESX文件中添加了1个变量。对于法语版: enter image description here

英文版: enter image description here

然后,在我看来Index.cshtml中,我只是显示&#34; Valeur&#34;的内容。价值:

@using Resources;

@{
    ViewBag.Title = "Index";
    ViewBag.Description = "Home Page";
}


<div>
    The current Value is : <b>@Resources.CDV.Valeur</b>
</div>

最后,当我加载页面时,我只获得法语版本: enter image description here

当我调用/ en / page时,未加载CDV.en.resx: enter image description here

你知道我做错了什么吗?

感谢。

0 个答案:

没有答案