我在处理资源文件方面是新手,我还不太了解它是如何工作的。现在,我需要让我的应用程序的文本以英文和中文提供。我将收到一个get参数(例如lang),然后我需要决定是使用Language.zh.resx还是我的默认Language.resx --这是我从我读过的文章中理解的。现在我有了我的视图标题,例如:
@{
ViewBag.Title = MyApplication.App_GlobalResources.Language.MyPage_Title;
}我不知道在哪里检查参数lang并应用它。我看过一些文章,人们说我应该创建一个动作过滤器,然后他们在cookies中添加了一些东西,他们很困惑。在我的例子中,它可能不是必需的,因为它只有一个请求,没有保留状态的要求,因为页面加载后就是这样。
如果有人能简要解释一下资源是如何工作的,那就太好了,谢谢!
发布于 2013-08-29 01:02:37
有几篇文章讨论了使用会话和URL变量的全球化和MVC。我之所以将两者联系起来,是因为会话一几乎涵盖了视图,但无论您是路由(/en-us/Controller)还是使用会话,视图的逻辑都应该保持不变。
发布于 2013-08-29 01:27:55
假设您的控制器中有一个string lang,您应该在控制器中更改当前的区域性,因此您唯一需要做的就是如下所示
var culture = new CultureInfo(lang);
System.Threading.Thread.CurrentThread.CurrentCulture = culture;
System.Threading.Thread.CurrentThread.CurrentUICulture = culture;我建议您通过一些属性来执行此步骤,然后将其应用于控制器。
https://stackoverflow.com/questions/18493466
复制相似问题