7 changed files with 77 additions and 17 deletions
@ -1,22 +1,24 @@ |
|||
using Volo.Abp.Data; |
|||
using Volo.Abp.DependencyInjection; |
|||
using Volo.Abp.Guids; |
|||
using Volo.Abp.Localization; |
|||
|
|||
namespace Lion.AbpPro.BasicManagement.Data.Seeds |
|||
{ |
|||
public class AbpSettingDataSeedContributor : IDataSeedContributor, ITransientDependency |
|||
{ |
|||
private readonly ISettingManager _settingManager; |
|||
private const string DefaultLanguageKey = "Abp.Localization.DefaultLanguage"; |
|||
private const string DefaultLanguage = "zh-Hans"; |
|||
public AbpSettingDataSeedContributor(ISettingManager settingManager) |
|||
private const string Value = "zh-Hans"; |
|||
private const string ProviderName = "G"; |
|||
private readonly ISettingManagementStore _settingManagementStore; |
|||
|
|||
public AbpSettingDataSeedContributor(ISettingManagementStore settingManagementStore) |
|||
{ |
|||
_settingManager = settingManager; |
|||
_settingManagementStore = settingManagementStore; |
|||
} |
|||
|
|||
public async Task SeedAsync(DataSeedContext context) |
|||
{ |
|||
// 设置默认语言
|
|||
await _settingManager.SetGlobalAsync(DefaultLanguageKey, DefaultLanguage); |
|||
await _settingManagementStore.SetAsync(LocalizationSettingNames.DefaultLanguage, Value, ProviderName, null); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,29 @@ |
|||
namespace Microsoft.AspNetCore.Localization; |
|||
|
|||
public class LionAcceptLanguageHeaderRequestCultureProvider : AcceptLanguageHeaderRequestCultureProvider |
|||
{ |
|||
public override async Task<ProviderCultureResult> DetermineProviderCultureResult(HttpContext httpContext) |
|||
{ |
|||
var result = await base.DetermineProviderCultureResult(httpContext); |
|||
|
|||
try |
|||
{ |
|||
if (result == null || result.Cultures.Count <= 0) return result; |
|||
|
|||
var culture = result.Cultures.First(); |
|||
|
|||
// 判断是否以 zh-CN(浏览器默认),zh-HK(中国香港),zh-MO(中国澳门),zh-TW(中国台湾)区域开头,如果是一律采用简体中文
|
|||
if (culture.Buffer != null && (culture.Buffer.StartsWith("zh-CN") || culture.Buffer.StartsWith("zh-HK") || culture.Buffer.StartsWith("zh-TW") || culture.Buffer.StartsWith("zh-MO"))) |
|||
{ |
|||
culture = new StringSegment("zh-Hans"); |
|||
return new ProviderCultureResult(culture.Buffer, culture.Buffer); |
|||
} |
|||
} |
|||
catch |
|||
{ |
|||
// ignore
|
|||
} |
|||
|
|||
return result; |
|||
} |
|||
} |
|||
Loading…
Reference in new issue