asp.net CurrentUICulture and resx file

本文关键字:resx file and CurrentUICulture net asp | 更新日期: 2023-09-27 18:13:35

在我的asp.net应用程序中,我想让用户改变他的配置文件语言,然后加载各自的resx文件。

我有两个全局.resx文件:

LocalizedText.resx

LocalizedText.pl.resx

protected void Page_Load(object sender, EventArgs e)
{  
      ...
      if (!IsPostBack)
      {
           setUserSettings(...)
      }                       
}

private void setUserSettings(...)
{
    ...
    Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("pl");
}

setUserSettings(...)也用于用户更改配置文件设置。

问题是,它总是回退到LocalizedText.resx文件,而不是加载LocalizedText.pl.resx

我调试了它,CurrentUICulture总是在Page_Load开头的"en_US"。

我尝试同时设置uicculture和Culture属性,但它不工作。

当我使用Page。Culture="auto"它加载。pl。当我将浏览器语言设置为"pl"时,它不是我想要的。

任何想法?由于

asp.net CurrentUICulture and resx file

我认为你应该重写Page InitializeCulture方法并在那里设置CurrentUiCulture。更多信息请参见:http://msdn.microsoft.com/en-us/library/system.web.ui.page.initializeculture.aspx