ウォークスルー
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
!重要以前にアプリを統合していた場合、それは旧版のASP.NETコアレンダリングSDK(バージョン22以前)を使用しています。このSDKは更新を受け取っていないため、最新のバージョンへのアップグレード をお勧めします。
SitecoreレンダリングエンジンのSDKは、ASP.NET Coreと同様にグローバル化とローカリゼーションをサポートしています。
グローバリゼーションとローカリゼーションに関する詳細は、公式のMicrosoft ASP.NET Coreドキュメントをご覧ください。
レンダリングエンジンSDKを用いて構築された.NETコアレンダリングホストアプリケーションでは、グローバル化とローカリゼーションを追加するには最小限の設定が必要です。この設定の大部分はレンダリングホストアプリケーションのStartupクラスで行われます。
Startupクラスに関する詳細は、ASP.NET Coreの公式のMicrosoft App Startupドキュメントをご覧ください。
このウォークスルーでは、以下の方法を説明します:
ローカリゼーションの設定
まずレンダリングエンジンをローカリゼーションに設定する必要があります:
-
Startup.csクラスに以下のコードを追加します:
public void ConfigureServices(IServiceCollection services) { services.AddLocalization(options => options.ResourcesPath = "Resources");
services.AddSitecoreRenderingEngine(options => { options.AddPartialView("Sample-Layout", "_SampleLayout") .AddDefaultPartialView("_ComponentNotFound"); }); }
ローカリゼーションミドルウェアの設定
リクエスト上の現在の文化はローカリゼーションミドルウェアで設定されています。
ローカリゼーションミドルウェアの設定:
-
Startup.csクラスのConfigure法では、callapp.UseRequestLocalization(options =>{})を加えます。
public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { app.UseRouting(); app.UseStaticFiles(); app.UseRequestLocalization(options => { var supportedCultures = new List
{ new CultureInfo("en"), new CultureInfo("da"), new CultureInfo("da-DK") }; options.DefaultRequestCulture = new RequestCulture(culture: "da", uiCulture: "da"); options.SupportedCultures = supportedCultures; options.SupportedUICultures = supportedCultures; options.UseSitecoreRequestLocalization(); }); app.UseSitecoreRenderingEngine(); } !注UseSitecoreRequestLocalization() メソッドは、sc_langクエリ文字列とルートデータ(例: en-us)からのカルチャートークンの両方から文化を解決できるようにします。
UseRequestLocalizationメソッドを呼び出しない場合は、WithDefaultRequestOptionsメソッドで指定された言語が代わりに使われます。
-
Startup.csの場合、Configureメソッドのapp.UseEndpoints(endpoints =>{})呼び出しで、エンドポイントの設定やローカライズドルートの追加のために以下を追加してください:
app.UseEndpoints(endpoints => { endpoints.AddLocalizedRoute("Localized", "Index", "Sitecore"); endpoints.MapFallbackToController("Index", "Sitecore"); });
AddLocalizedRouteメソッドはルート名、デフォルトアクション、コントローラー名の3つのパラメータを受け付けます。以下のパターンでコントローラルートをマッピングします:
/{culture
}/{**sitecoreRoute}カスタムルーティングを希望する場合は、cultureとsitecoreRouteルートの値をRouteValuesのHttpRequestオブジェクトコレクションで見つけることができます。 「ASP.NET Coreのルーティング」を参照してください。
メソッド概要の設定
以下は、ローカリゼーションミドルウェアを設定した後の完全なConfigureメソッドの例ですStartup.cs :
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseRouting();
app.UseStaticFiles();
app.UseRequestLocalization(options =>
{
var supportedCultures = new List
app.UseEndpoints(endpoints => { endpoints.AddLocalizedRoute("Localized", "Index", "Sitecore"); endpoints.MapFallbackToController("Index", "Sitecore"); }); }
!注ローカリゼーションが有効なレンダリングホストの動作例は 、開始テンプレート をご覧ください。