2015-09-16 27 views
3

适用于多语言asp.net mvc网站。asp.net mvc在哪里设置默认文化?

我应该在哪里设置线程的文化默认语言(这是TR-TR为我的情况),此外我需要保存在cookie中,如果它不存在。在Application_Start()或其他?

我有多个网站(域),所以我需要更改默认语言网站特定。

example.com must set default culture to tr-TR 
example2.com must set default culture to en-US 

回答

3

尝试在web.config中

<configuration> 
    <system.web> 
     <globalization uiCulture="en-GB" culture="en-GB" /> 
    </system.web> 
</configuration> 

这是设置文化更通用的方法设置...

+1

为了使它更通用,您可以使用它来自动检测您的浏览器的文化: hbulens

+0

我需要根据网站(域),那么它是在webconfig中设置文化的正确方法?我更新了上面的问题。 – Can

+1

我不是很确定,但有一个简单的方法,路由可以添加在Routeconfig类中 foreach(var route in routes.Cast ().Where(route => route.GetType()== typeof(MultiLingualRoute ))) { route.Url =“{language} /”+ route.Url; route.Defaults.Add(“language”,“YOUR-DEFAULT”); } 这可能会给你一个提示。 –

1

您可以设置文化Application_AcquireRequestState:

protected void Application_AcquireRequestState(object sender, EventArgs e) 
{ 
    // A Cookie 
    string cookie = HttpContext.Current.Request.Cookies["culture"].Value; 

    Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo(cookie); 
    Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo(cookie); 
} 

您还可以访问此link

相关问题