【问题标题】:ASP.NET locale specific resource file not being picked up未拾取 ASP.NET 区域设置特定资源文件
【发布时间】:2011-10-07 10:44:46
【问题描述】:

默认不变资源文件 (resources.resx) 一切正常 - 正在使用

获取我的标签文本
HttpContext.GetGlobalResourceObject(resource, key);

当我设置时

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

区域设置特定资源文件 (resources.zh-hk.resx) 将被忽略,并使用上述默认不变的资源文件。

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

等式中缺少什么?

【问题讨论】:

    标签: asp.net resources localization


    【解决方案1】:

    你应该这样设置:

    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

    【讨论】:

    • 顺便说一句,这没有效果。看看我的答案,无论哪种方式都可以。
    【解决方案2】:

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

    application.PreRequestHandlerExecute += SetLocale;
    

    不是

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

    很明显!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-21
      • 2021-02-03
      • 1970-01-01
      • 2018-08-17
      • 2017-02-14
      相关资源
      最近更新 更多