ウォークスルー

Version:
日本語翻訳に関する免責事項

このページの翻訳は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"); }); }

ローカリゼーションミドルウェアの設定

リクエスト上の現在の文化はローカリゼーションミドルウェアで設定されています。

ローカリゼーションミドルウェアの設定:

  1. 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メソッドで指定された言語が代わりに使われます。

  2. 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 { 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();

app.UseEndpoints(endpoints => { endpoints.AddLocalizedRoute("Localized", "Index", "Sitecore"); endpoints.MapFallbackToController("Index", "Sitecore"); }); }

!注ローカリゼーションが有効なレンダリングホストの動作例は 、開始テンプレート をご覧ください。

この記事を改善するための提案がある場合は、 お知らせください!