スポンサーリンク
スポンサーリンク

.NET 8.0 + ASP.NET Core(MVC) で実装する ルートベースローカライズ処理(多国言語対応)

.NET CoreASP.NET CoreC#HTMLJavaScriptVisual Studio

前回作成した .NET 8.0 + ASP.NET Core(MVC) で実装する クエリベースローカライズ処理(多国言語対応) を、ルートベースローカライズへ変更したサンプルを作成しました。
ソースコードは GitHub で公開しています。

クエリベースローカライズ:クエリ文字列での言語切替
ルートベースローカライズ:URLパス先頭での言語切替 ※ASP.NET Core 公式推奨

 

ソースコード変更内容を解説

 

WebApplication1/Program.cs

RequestCultureProvidersと UseRequestLocalizationを追加し、cultureは URLのルートプレフィックスから取得すると明示。
URLのパターンに cultureを追加。

 

WebApplication1/Views/Shared/_Layout.cshtml

言語選択用のコンボボックスを追加。
コードブロックで cultureを取得し、コンボボックスの選択状態(selected)の条件分岐に使用。
コードブロックで controller、action、Queryを取得し、コンボボックスの onchangeイベントにある、JavaScriptでページ遷移する際の URLに使用。

コメント

タイトルとURLをコピーしました