Я нашел эту ссылку в качестве руководства для создания многоязычного веб-сайта, который должен работать на предпочтительном для пользователей языке, который они установили в своих браузерах.
Получить CultureInfo от текущего посетителя и настроить ресурсы на его основе?
как вы видите, у него есть этот код для этого
// Get Browser languages.
var userLanguages = Request.UserLanguages;
CultureInfo ci;
if (userLanguages.Count() > 0)
{
try
{
ci = new CultureInfo(userLanguages[0]);
}
catch(CultureNotFoundException)
{
ci = CultureInfo.InvariantCulture;
}
}
else
{
ci = CultureInfo.InvariantCulture;
}
// Here CultureInfo should already be set to either user's preferable language
// or to InvariantCulture if user transmitted invalid culture ID
, номой вопрос заключается в том, что я не знаю, что именно является долгом CultureInfo.InvariantCulture
, и он не работает вообще в моем проекте.это всегда ноль.
Я изменил код на это, он работает нормально, но я не уверен в возможных исключениях, которые могут иметься.Я действительно ценю любую помощь.Вот то, что у меня есть, и это работает совершенно нормально, но просто не уверен насчет возможных исключений.Я хочу, чтобы язык по умолчанию был "en-US"
public ActionResult Index()
{
CultureInfo ci;
var userLanguages = Request.UserLanguages;
if (userLanguages == null)
{
ci = new CultureInfo("en-US");
}
else if (userLanguages.Count() > 0)
{
try
{
ci = new CultureInfo(userLanguages[0]);
}
catch (CultureNotFoundException)
{
ci = new CultureInfo("en-US");
}
}
else
{
ci = new CultureInfo("en-US");
}
return RedirectToAction(ci.TwoLetterISOLanguageName, "Home");
}