0

私のasp.netアプリでは、ユーザーが自分のプロファイル言語を変更してから、それぞれのresxファイルをロードできるようにしたいと考えています.

2 つのグローバル .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」です。

UICulture と Culture プロパティも設定しようとしましたが、うまくいきませんでした。

Page.Culture="auto" を使用すると、ブラウザーの言語を "pl" に設定すると .pl.resx ファイルが読み込まれますが、それは私が望むものではありません。

何か案は?ありがとう

4

1 に答える 1

2

InitializeCulturePageメソッドをオーバーライドして設定する必要があると思いますCurrentUiCulture。詳細については、http: //msdn.microsoft.com/en-us/library/system.web.ui.page.initializeculture.aspxを参照してください。

于 2013-05-14T14:19:56.507 に答える