ASP.NET区域设置特定资源文件未被拾取

时间:2011-10-07 10:44:47

标签: asp.net resources localization

对于默认的不变资源文件(resources.resx),一切正常 - 我的标签的文本正在使用

获取
HttpContext.GetGlobalResourceObject(resource, key);

当我设置

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

正在忽略特定于语言环境的资源文件(resources.zh-hk.resx),并且正在使用上面的默认不变量。

我已经尝试重命名文件以测试它们是否在正确的位置......这很好。

等式中缺少什么?

2 个答案:

答案 0 :(得分:0)

你应该这样设置:

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

检查一下:How to: Set the Culture and UI Culture for ASP.NET Web Page Globalization

答案 1 :(得分:0)

原来是我注册语言环境的地方,这需要在PreRequestHandler而不是BeginRequest。

application.PreRequestHandlerExecute += SetLocale;

application.BeginRequest += SetLocale;

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

明显!