2015-09-16 5 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 Еогеаспа (Var маршрут routes.Cast () .гд (маршрут => 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

 Смежные вопросы

  • Нет связанных вопросов^_^