更改 AspNetBoilerplate 中的默认文化

Change Default Culture in AspNetBoilerplate

即使在阅读了这些资料后:

Add a setting to get/set default language

Set language per user or per domain #272

我无法将我的应用程序设置为以默认语言启动。

我的语言工作正常。用户可以在页面加载后选择想要的内容。但是页面必须加载为默认英语以外的一种文化。

我希望我的 web.config 留在:

<system.web>
  <globalization culture="auto" uiCulture="auto" />

试过这个选项,不成功:

  • {template}.core中更改AppSettingProvider.cs,添加一个新的 设置定义
  • {template}.Web {template}[=46 中手动添加 Configuration.Localization.Languages =]() 方法将默认设置为 LanguageInfo
  • 在 Global.asax
  • 中覆盖了 SetCurrentCulture()

毕竟解决的办法很简单

只需将设置更改为数据库 table AbpSettings 其中 Name 列为 "Abp.Localization.DefaultLanguageName" 且 UserId 为空:

update AbpSettings 
   set Value = 'pt-BR' 
 where UserId is null 
   and rtrim(Name) like 'Abp.Localization.DefaultLanguageName';

转到种子文件夹和 DefaultSettingsCreator 文件,然后更改:

AddSettingIfNotExists(LocalizationSettingNames.DefaultLanguage, "pt-BR", tenantId);