Комментарии 2
а два пользователя с разными языками смогут одновременно работать?
Конечно. Эта вся схема в сущности ни чем не отличается, если бы мы просто писали Resources.SomeLocalizedString. .Net framework сам посмотрит, что за локализация у клиента и отдаст ему нужный перевод. Мы можем также разрешить пользователю выбирать язык и его выбор сохранить в куки, а потом проверять:
protected override void InitializeCulture() { var culture = string.Empty; if (Request.Cookies["language"] != null) culture = Request.Cookies["language"].Value; if (IsPostBack && Request.Params.Get("__EVENTTARGET") == "language") { if (Request.Params.Get("__EVENTARGUMENT") == "ru") culture = "ru-RU"; if (Request.Params.Get("__EVENTARGUMENT") == "en") culture = "en-US"; Response.Cookies.Set(new HttpCookie("language",culture){Expires = DateTime.Now.AddYears(1)}); } if (!string.IsNullOrEmpty(culture)) { Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(culture); Thread.CurrentThread.CurrentUICulture = new CultureInfo(culture); } base.InitializeCulture(); }
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Локализация .NET приложения, а в частности ASP.NET WebForms