我是处理资源文件的新手,我还没有完成它的工作原理。现在我需要用英文和中文提供我的应用程序文本。我将收到一个get参数(例如lang),从那里我将需要决定是否使用Language.zh.resx或我的默认语言.resx - 这就是我从我读过的文章中理解的。现在我有我的视图标题,例如:
@{
ViewBag.Title = MyApplication.App_GlobalResources.Language.MyPage_Title;
}
我无法弄清楚在哪里检查参数lang并应用它。我看到人们说我应该创建一个动作过滤器并且他们在cookie中添加内容并且它们令人困惑的文章。在我的情况下,它可能没有必要,因为它只有一个请求,没有要求保持状态,因为一旦页面加载就是它。
如果有人也可以简单解释资源如何运作,那就太好了,谢谢!
答案 0 :(得分:0)
有几篇文章使用会话和URL变量讨论全球化和MVC。我正在链接这两个因为会话一个在视图中覆盖了更多的视图,但无论您是路由(/ en-us / Controller)还是使用会话,视图的逻辑都应保持不变。
答案 1 :(得分:0)
假设您的控制器中有一个字符串lang,在控制器中您应该更改当前的文化,所以您唯一需要做的就是这样的事情
var culture = new CultureInfo(lang);
System.Threading.Thread.CurrentThread.CurrentCulture = culture;
System.Threading.Thread.CurrentThread.CurrentUICulture = culture;
我建议您通过某些属性执行此步骤,然后将其应用于控制器。