Pull to refresh

Comments 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();
        }

Sign up to leave a comment.

Articles