31 lines
1.2 KiB
C#
31 lines
1.2 KiB
C#
using Microsoft.AspNetCore.Builder;
|
|
using Microsoft.Extensions.Options;
|
|
using Umbraco.Cms.Core.Configuration.Models;
|
|
|
|
namespace Umbraco.Cms.Web.Common.Localization;
|
|
|
|
/// <summary>
|
|
/// Custom Umbraco options configuration for <see cref="RequestLocalizationOptions" />.
|
|
/// </summary>
|
|
public class UmbracoRequestLocalizationOptions : IConfigureOptions<RequestLocalizationOptions>
|
|
{
|
|
private readonly GlobalSettings _globalSettings;
|
|
|
|
/// <summary>
|
|
/// Initializes a new instance of the <see cref="UmbracoRequestLocalizationOptions" /> class.
|
|
/// </summary>
|
|
/// <param name="globalSettings">The global settings.</param>
|
|
public UmbracoRequestLocalizationOptions(IOptions<GlobalSettings> globalSettings)
|
|
=> _globalSettings = globalSettings.Value;
|
|
|
|
/// <inheritdoc />
|
|
public void Configure(RequestLocalizationOptions options)
|
|
{
|
|
// Set the default culture to what is in config
|
|
options.SetDefaultCulture(_globalSettings.DefaultUILanguage);
|
|
|
|
options.RequestCultureProviders.Insert(0, new UmbracoBackOfficeIdentityCultureProvider(options));
|
|
options.RequestCultureProviders.Insert(1, new UmbracoPublishedContentCultureProvider(options));
|
|
}
|
|
}
|