buystuff.aspxというページを含む Web サイトがあります。buystuff.aspx.resxとbuystuff.aspx.da-dk.resxという 2 つのローカル リソースを作成しました。
これは問題なく動作し、da-DK 設定でサイトに入るとそのバージョンが取得され、それ以外の設定で入るとデフォルトが取得されます。
ただし、私が望むのは、これをプログラムで設定することです。ユーザーが buystuff.aspx を入力すると、強制的に英語 (en-US) バージョンになり、buystuff.aspx?language=da と入力すると、強制的に da-dk バージョンになります。
次のコードではうまくいきません。
private void SetupLanguage()
{
if (!string.IsNullOrEmpty(CurrentLanguage))
{
if (CurrentLanguage == "da")
{
Thread.CurrentThread.CurrentCulture = new CultureInfo("da-DK");
return;
}
}
Culture = "en-US";
UICulture = "en-US";
}
次のことも試しましたが、うまくいきませんでした。
private void SetupLanguage()
{
if (!string.IsNullOrEmpty(CurrentLanguage))
{
if (CurrentLanguage == "da")
{
Thread.CurrentThread.CurrentCulture = new CultureInfo("da-DK");
return;
}
}
CultureInfo info = CultureInfo.CreateSpecificCulture("en-US");
Thread.CurrentThread.CurrentUICulture = info;
Thread.CurrentThread.CurrentCulture = info;
}
デバッグ モードでは、コードが正常に実行されていることがわかります。ただし、buybtc.aspx を読み込むとき (そして、CurrentLanguage 変数は string.empty です)、buystuff.aspx.da-dk.resx からリソースを読み込みます。
何か案は?