From 9e057ff8159458805f2399910a0034b2c446bb68 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Thu, 17 Oct 2024 10:35:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=9B=BD=E9=99=85=E5=8C=96?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=8F=90=E5=89=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- IRaCIS.Core.API/Progranm.cs | 6 ++---- .../_PipelineExtensions/LocalizationConfig.cs | 10 ++++++++- .../_IRaCIS/Globalization/I18n.cs | 21 +++++++++++++++++-- 3 files changed, 30 insertions(+), 7 deletions(-) diff --git a/IRaCIS.Core.API/Progranm.cs b/IRaCIS.Core.API/Progranm.cs index 6d2307421..a242c3902 100644 --- a/IRaCIS.Core.API/Progranm.cs +++ b/IRaCIS.Core.API/Progranm.cs @@ -207,7 +207,7 @@ app.UseExceptionHandler(o => { }); app.UseIRacisHostStaticFileStore(env); //本地化 -app.UseLocalization(); +app.UseLocalization(app.Services); app.UseForwardedHeaders(); @@ -249,9 +249,7 @@ app.MapMasaMinimalAPIs(); SerilogExtension.AddSerilogSetup(enviromentName, app.Services); -//设置国际化I18n -var localizer = app.Services.GetRequiredService(); -I18n.SetLocalizer(localizer); + var hangfireJobService = app.Services.GetRequiredService(); diff --git a/IRaCIS.Core.API/_PipelineExtensions/LocalizationConfig.cs b/IRaCIS.Core.API/_PipelineExtensions/LocalizationConfig.cs index cad560c86..260c3bb6c 100644 --- a/IRaCIS.Core.API/_PipelineExtensions/LocalizationConfig.cs +++ b/IRaCIS.Core.API/_PipelineExtensions/LocalizationConfig.cs @@ -1,5 +1,9 @@ using IRaCIS.Core.Domain.Share; +using IRaCIS.Core.Infrastructure.Extention; using Microsoft.AspNetCore.Builder; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Localization; +using System; using System.Collections.Generic; using System.Globalization; @@ -8,7 +12,7 @@ namespace IRaCIS.Core.API public static class LocalizationConfig { - public static void UseLocalization(this IApplicationBuilder app) + public static void UseLocalization(this IApplicationBuilder app,IServiceProvider serviceProvider) { var supportedCultures = new List { @@ -30,6 +34,10 @@ namespace IRaCIS.Core.API //options.RequestCultureProviders.RemoveAt(1); app.UseRequestLocalization(options); + + //设置国际化I18n + var localizer = serviceProvider.GetRequiredService(); + I18n.SetLocalizer(localizer); } } } diff --git a/IRaCIS.Core.Infrastructure/_IRaCIS/Globalization/I18n.cs b/IRaCIS.Core.Infrastructure/_IRaCIS/Globalization/I18n.cs index 58e54d4d4..4ca942b74 100644 --- a/IRaCIS.Core.Infrastructure/_IRaCIS/Globalization/I18n.cs +++ b/IRaCIS.Core.Infrastructure/_IRaCIS/Globalization/I18n.cs @@ -20,12 +20,29 @@ public static class I18n public static string T(string key) { - return _localizer[key]; + if(_localizer is null) + { + return key; + } + else + { + return _localizer[key]; + + } } public static string T(string key, params object[] arguments) { - return _localizer[key, arguments]; + if (_localizer is null) + { + return key; + } + else + { + return _localizer[key, arguments]; + + } + } }