2013-08-28 107 views
1

我是新来的工作与资源文件,我还没有完全得到它的工作方式。现在我需要用英文和中文提供我的应用程序的文本。我会收到一个get参数(例如lang),然后我需要决定是使用Language.zh.resx还是使用默认的Language.resx - 这是我从我一直在阅读的文章中理解的。现在我有我的查看标题为例:ASP.NET MVC 4通过url参数切换资源文件

@{ 
     ViewBag.Title = MyApplication.App_GlobalResources.Language.MyPage_Title; 
    } 

我不知道在哪里检查参数lang和应用它。我看到文章中有人说我应该创建一个动作过滤器,并且他们添加了一些东西给cookies,并且他们很混乱。在我的情况下,它可能不是必需的,因为它只有一个请求,没有要求保存状态,因为一旦加载页面就是这样。

如果有人也可以简单介绍一下资源如何工作,那将是一件好事,谢谢!

回答

0

有几篇文章讨论使用会话和URL变量的全球化和MVC。我将这两个链接连接起来,因为会话一会覆盖Views多一点,但无论您是路由(/ en-us/Controller)还是使用会话,视图的逻辑都应该保持不变。

  1. Session based Globalization
  2. Routing Based Globalization
0

可以说你有一个字符串郎在你的控制器,控制器,你应该改变目前的文化,所以你需要做的唯一事情是有点像这

var culture = new CultureInfo(lang); 
System.Threading.Thread.CurrentThread.CurrentCulture = culture; 
System.Threading.Thread.CurrentThread.CurrentUICulture = culture; 

我建议你通过某些属性来做这个步骤,然后将其应用于控制器。