1. 通过配置文件设置
"Settings": {
"Abp.Localization.DefaultLanguage": "zh-Hans"
}
2. 在Startup文件中设置
public void Configure(IApplicationBuilder app)
{
app.InitializeApplication();
//设置默认语言
app.ApplicationServices.GetService<ISettingDefinitionManager>().Get(LocalizationSettingNames.DefaultLanguage).DefaultValue = "zh-Hans";
}
3. 在YourProjectNameWebModule文件中设置
public override void OnApplicationInitialization(ApplicationInitializationContext context)
{
var app = context.GetApplicationBuilder();
var env = context.GetEnvironment();
// …… 此处省略其他代码
//app.UseAbpRequestLocalization();
// 可以生效
//app.UseAbpRequestLocalization(options => options.DefaultRequestCulture = new RequestCulture("zh-Hans"));
// 可以生效
app.UseAbpRequestLocalization(optios => optios.SetDefaultCulture("zh-hans"));
}
4. 通过数据库设置
INSERT INTO public."AbpSettings"
("Id", "Name", "Value", "ProviderName", "ProviderKey")
VALUES('c5727077-5c7f-14b8-cafc-39f45add56ba', 'Abp.Localization.DefaultLanguage', 'zh-hans', 'Global', '');
5. 以上设置不生效
如果以上设置不生效,可能是浏览器导致的。
// 微软内置从三个地方获取本地化:QueryString、Cookie、Header:accept-heade
// 浏览器中文的Culture字符串是zh-CN与Abp的zh-Hans不匹配
// 故而清除此provider
// 注意:别忘记清除下Cookie
app.UseAbpRequestLocalization(
options =>
options.RequestCultureProviders.RemoveAll(provider => provider is AcceptLanguageHeaderRequestCultureProvider));
最后,如果没有国际化需求,则可以只设置中文。
Configure<AbpLocalizationOptions>(options =>
{
options.Languages.Add(new LanguageInfo("zh-Hans", "zh-Hans", "简体中文"));
//options.Languages.Add(new LanguageInfo("en", "en", "English"));
});