MVC アプリケーションで新しいロケールを適用するにはどうすればよいですか?
設定するアクションを作成しました
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
次に Index.chtml にリダイレクトしますが、これは機能しません。
このことを機能させる方法を教えてください。
MVC アプリケーションで新しいロケールを適用するにはどうすればよいですか?
設定するアクションを作成しました
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
次に Index.chtml にリダイレクトしますが、これは機能しません。
このことを機能させる方法を教えてください。
カルチャの設定は、スレッドが終了するまでのみ有効です。これは、すべてのページ処理が終了した後に発生します。この場合、リダイレクトを発行した後、サーバーは Location HTTP ヘッダーを新しいアドレスに送信し、応答を閉じます。その後、ブラウザは新しい場所への新しいリクエストを開始し、Thread.CurrentThread.CurrentCulture で設定した値がデフォルトの値にリセットされます。
言語の選択 (セッション、Cookie など) を永続化し、ページ ロジックの開始時に適用する必要があります。