用户可以在现场切换区域设置



我有一个使用本地化为我们的加拿大法语客户显示英语或法语的 Web 应用程序。

根据用户区域设置,它工作正常。但是,如果用户的区域设置设置为法语,我们需要允许用户切换回英语。

如果他愿意,是否可以覆盖用户区域设置? 如果是这样...我将如何编码?(例如,在布局页面上有一个显示英语的链接,单击此链接会将其更改回英语或法语)

此外,我正在使用资源文件来保存文本字符串并使用同一组视图。

在他们单击按钮选择语言后,代码中的某个位置:

Session["customLocalization"] = "de-DE"; //Or whatever language

在你的全球.asax

protected void Application_BeginRequest(object sender, EventArgs e)
{   
    String sessionOverrideLocale;    
    if (HttpContext.Current != null && HttpContext.Current.Session != null) 
    {
        sessionOverrideLocal = (String) HttpContext.Current.Session["customLocalization"];
    } 
    if (sessionOverrideLocale != null) 
    {
        Thread.CurrentThread.CurrentUICulture = new CultureInfo(sessionOverrideLocale);
        Thread.CurrentThread.CurrentCulture = new CultureInfo(sessionOverrideLocale);
    }
}

是的,这是可能的,但我目前无法访问我最近处理的代码,我们允许用户更改其当前渲染区域。

这是一篇博客文章,详细介绍了如何执行此操作。 他有一篇较旧的帖子,我相信它使用了 MVC3,然后这个较新的帖子是从 MVC4 的角度编写的,所以这应该涵盖您。

我希望它有帮助:

http://geekswithblogs.net/shaunxu/archive/2012/09/04/localization-in-asp.net-mvc-ndash-upgraded.aspx

最新更新