リソース ファイルの使用に関して非常に奇妙な問題があります。
多くの aspx サイトを含む ASP.NET Web アプリケーションがあります。aspx ページごとにローカル リソース ファイルを生成し、コピー/名前変更を行ってから翻訳を行いました。たとえば、リソース ファイル SamplePage.aspx.resx (原文、クロアチア語) と SamplePage.aspx.en.resx (英語の翻訳) を含むページ SamplePage.aspx があります。
コード ビハインドで currentculture/currentuiculture を変更すると、すべてがうまく機能します。新しく選択したリージョンの resx ファイルから単語が読み込まれますが、一部の部分は未翻訳のままで、別の resx ファイルから読み込まれます。
asp:dropdownlists、asp:radiobuttons、および asp:buttons のみがうまく翻訳されていないことに気付きました。すべてのラベルと段落は問題ありません。
これらのコントロールには meta:resourcekey タグが正しく設定されています。たとえば、リソース ファイル内の 1 つのボタンのテキストを別のものに変更したかのように、変更はそこにあり、オンラインで見ることができますが、間違ったリソース ファイルから読み込まれています。
問題の原因は何ですか?
リージョンを変更した場所と何か関係がありますか? 現在 OnInit にあります。
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
string culture = "hr-HR";
//string culture = "en-US";
Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(culture);
Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(culture);
}