|
|
|
|
@ -1,10 +1,14 @@
|
|
|
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Globalization;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
|
|
|
using Microsoft.Extensions.Logging;
|
|
|
|
|
using Volo.Abp.AspNetCore.Components.Web;
|
|
|
|
|
using Volo.Abp.AspNetCore.Components.Web.ExceptionHandling;
|
|
|
|
|
using Volo.Abp.AspNetCore.Mvc.Client;
|
|
|
|
|
using Volo.Abp.Http.Client;
|
|
|
|
|
using Volo.Abp.Modularity;
|
|
|
|
|
using Volo.Abp.Threading;
|
|
|
|
|
using Volo.Abp.UI;
|
|
|
|
|
|
|
|
|
|
namespace Volo.Abp.AspNetCore.Components.WebAssembly;
|
|
|
|
|
@ -33,4 +37,34 @@ public class AbpAspNetCoreComponentsWebAssemblyModule : AbpModule
|
|
|
|
|
.GetHostBuilder().Logging
|
|
|
|
|
.AddProvider(new AbpExceptionHandlingLoggerProvider(context.Services));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void OnApplicationInitialization(ApplicationInitializationContext context)
|
|
|
|
|
{
|
|
|
|
|
AsyncHelper.RunSync(() => OnApplicationInitializationAsync(context));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public async override Task OnApplicationInitializationAsync(ApplicationInitializationContext context)
|
|
|
|
|
{
|
|
|
|
|
await context.ServiceProvider.GetRequiredService<WebAssemblyCachedApplicationConfigurationClient>().InitializeAsync();
|
|
|
|
|
await SetCurrentLanguageAsync(context.ServiceProvider);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private async static Task SetCurrentLanguageAsync(IServiceProvider serviceProvider)
|
|
|
|
|
{
|
|
|
|
|
var configurationClient = serviceProvider.GetRequiredService<ICachedApplicationConfigurationClient>();
|
|
|
|
|
var utilsService = serviceProvider.GetRequiredService<IAbpUtilsService>();
|
|
|
|
|
var configuration = await configurationClient.GetAsync();
|
|
|
|
|
var cultureName = configuration.Localization?.CurrentCulture?.CultureName;
|
|
|
|
|
if (!cultureName.IsNullOrEmpty())
|
|
|
|
|
{
|
|
|
|
|
var culture = new CultureInfo(cultureName);
|
|
|
|
|
CultureInfo.DefaultThreadCurrentCulture = culture;
|
|
|
|
|
CultureInfo.DefaultThreadCurrentUICulture = culture;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (CultureInfo.CurrentUICulture.TextInfo.IsRightToLeft)
|
|
|
|
|
{
|
|
|
|
|
await utilsService.AddClassToTagAsync("body", "rtl");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|