public ActionResult ChangeCulture(string lang) { string returnUrl = Request.UrlReferrer.PathAndQuery; if (!LanguageHelper.IsRelevantLanguage(lang)) { lang = "en"; } // Сохраняем выбранную культуру в куки HttpCookie cookie = Request.Cookies["lang"]; if (cookie != null) { cookie.Value = lang; // если куки уже установлено, то обновляем значение } else { cookie = new HttpCookie("lang"); cookie.HttpOnly = false; cookie.Value = lang; cookie.Expires = DateTime.UtcNow.AddYears(1); } LanguageHelper.ClearCurrentLanguage(); if (lang != LanguageHelper.GetDefaultLanguage()) { if (!returnUrl.Contains("/ru")) { returnUrl = string.Concat('/', lang, returnUrl); } } else { if (Request.RequestContext.RouteData.Values["lang"] != null) { returnUrl = returnUrl.Replace("/" + Request.RequestContext.RouteData.Values["lang"].ToString(), ""); } } Response.Cookies.Add(cookie); return(Redirect(!string.IsNullOrEmpty(returnUrl) ? returnUrl : "/")); }