Файл ресурсов для конкретной локали ASP.NET не обнаружен - PullRequest
0 голосов
/ 07 октября 2011

Все нормально работает для файла ресурсов по умолчанию (resources.resx) - текст моей метки выбирается с помощью

HttpContext.GetGlobalResourceObject(resource, key);

Когда я устанавливаю

CultureInfo.CurrentCulture = new CultureInfo("zh-hk");
CultureInfo.CurrentUICulture = new CultureInfo("zh-hk");

Локальфайл ресурсов (resources.zh-hk.resx) игнорируется, и используется инвариант по умолчанию, описанный выше.

Я попытался переименовать файлы, чтобы проверить, что они находятся в нужном месте ... и это нормально.

Чего не хватает в уравнении?

Ответы [ 2 ]

0 голосов
/ 07 октября 2011

Оказалось, что там, где я регистрировал локаль, это должно быть в PreRequestHandler, а не в BeginRequest.

application.PreRequestHandlerExecute += SetLocale;

not

application.BeginRequest += SetLocale;

private void SetLocale(object sender, EventArgs e)
{
   LocalizationHelper.SetThreadCurrentCulture();
}

Очевидно!

0 голосов
/ 07 октября 2011

вы должны установить его следующим образом:

Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("zh-hk");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("zh-hk");

проверить это: Как: установить культуру и культуру пользовательского интерфейса для глобализации веб-страниц ASP.NET

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...