2015-09-16 31 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

相關問題