Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Глобализация приложения. / 8 сообщений из 8, страница 1 из 1
26.03.2014, 11:07
    #38596679
wizzzi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глобализация приложения.
Суть проблемы:
Нужно сделать поддержку двух языков(Русский, Английский).

Создал таблицы ресурсов, на MasterPage разместил две кнопочки, написал HttpModule.
Вот собственно код:
Обработчик на MasterPage:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
            if (cookieLang == null)
            {
                cookieLang = new HttpCookie("Language");
            }
            cookieLang.Value = "ru-RU";
            cookieLang.Expires = DateTime.Now.AddDays(1);
            Response.Cookies.Add(cookieLang);
            Response.Redirect(Request.Path);


и такой же для "en-US".

HttpModule:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
            if (HttpContext.Current.Request.Cookies["Language"] != null)
            {
                HttpCookie cookie = HttpContext.Current.Request.Cookies["Language"];
                string lang = cookie.Value;
                var culture = new System.Globalization.CultureInfo(lang);
                Thread.CurrentThread.CurrentCulture = culture;
                Thread.CurrentThread.CurrentUICulture = culture;
            }


но при нажатие ничего не меняется, что я упустил.

Если в Web.config добавлять:
Код: c#
1.
2.
3.
<globalization  culture="ru-RU" uiCulture="ru-RU" />
или
<globalization  culture="en-US" uiCulture="en-US" />


то страница отображается как надо, посмотрел отладку и как понял, CurrentCulture и CurrentUICulture не сохраняют свои значения, т.е. если я нажал на русский флаг, им присвоились "ru-RU", повторно нажал, а у них значения сбросились на "en_US"
Код: c#
1.
2.
                Thread.CurrentThread.CurrentCulture = culture;
                Thread.CurrentThread.CurrentUICulture = culture;
...
Рейтинг: 0 / 0
26.03.2014, 13:16
    #38596862
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глобализация приложения.
...
Рейтинг: 0 / 0
26.03.2014, 13:21
    #38596869
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глобализация приложения.
wizzzi,

вот ещё, если надо не MVC

http://msdn.microsoft.com/en-us/library/c6zyy3s9(v=vs.100).ASPX
...
Рейтинг: 0 / 0
26.03.2014, 13:52
    #38596922
Парамон
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глобализация приложения.
wizzziCurrentCulture и CurrentUICulture не сохраняют свои значения, т.е. если я нажал на русский флаг, им присвоились "ru-RU", повторно нажал, а у них значения сбросились на "en_US"
Код: c#
1.
2.
                Thread.CurrentThread.CurrentCulture = culture;
                Thread.CurrentThread.CurrentUICulture = culture;


Правильно, это должно при каждом запросе происходить, Application_BeginRequest например.
В HttpModule своем глянь, читает ли куку.
...
Рейтинг: 0 / 0
26.03.2014, 13:53
    #38596925
wizzzi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глобализация приложения.
Кука читается.
...
Рейтинг: 0 / 0
26.03.2014, 14:11
    #38596955
Парамон
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глобализация приложения.
wizzziКука читается.
При каждом запросе?
...
Рейтинг: 0 / 0
26.03.2014, 14:13
    #38596959
wizzzi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глобализация приложения.
да, могу проект залить, если надо
...
Рейтинг: 0 / 0
26.03.2014, 14:20
    #38596969
wizzzi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глобализация приложения.
а все, ложный кипишь был.
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Глобализация приложения. / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]