Browse Source

Merge pull request #2392 from yinchang0626/feature/setting_lang

modify several module's SettingDefinitionProvider to support multi-lingual
pull/2483/head
Halil İbrahim Kalkan 7 years ago
committed by GitHub
parent
commit
ffdb8aca29
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 5
      framework/src/Volo.Abp.Emailing/Volo.Abp.Emailing.csproj
  2. 8
      framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/AbpEmailingModule.cs
  3. 66
      framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/EmailSettingProvider.cs
  4. 10
      framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Localization/EmailingResource.cs
  5. 23
      framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Localization/en.json
  6. 23
      framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Localization/zh-Hans.json
  7. 1
      framework/src/Volo.Abp.Localization/Volo.Abp.Localization.csproj
  8. 11
      framework/src/Volo.Abp.Localization/Volo/Abp/Localization/AbpLocalizationModule.cs
  9. 14
      framework/src/Volo.Abp.Localization/Volo/Abp/Localization/LocalizationSettingProvider.cs
  10. 10
      framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpLocalization/AbpLocalizationResource.cs
  11. 7
      framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpLocalization/en.json
  12. 7
      framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpLocalization/zh-Hans.json
  13. 5
      framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/AbpValidationResource.cs
  14. 8
      framework/src/Volo.Abp.Validation/Volo.Abp.Validation.csproj
  15. 20
      framework/src/Volo.Abp.Validation/Volo/Abp/Validation/AbpValidationModule.cs
  16. 10
      framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/AbpValidationResource.cs
  17. 0
      framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/cs.json
  18. 0
      framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/en.json
  19. 0
      framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/es.json
  20. 0
      framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/pl.json
  21. 0
      framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/pt-BR.json
  22. 0
      framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/tr.json
  23. 0
      framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/vi.json
  24. 2
      framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/zh-Hans.json
  25. 6
      modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/en.json
  26. 6
      modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/zh-Hans.json
  27. 21
      modules/account/src/Volo.Abp.Account.Web/Settings/AccountSettingDefinitionProvider.cs
  28. 28
      modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/en.json
  29. 29
      modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/zh-Hans.json
  30. 104
      modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentitySettingDefinitionProvider.cs

5
framework/src/Volo.Abp.Emailing/Volo.Abp.Emailing.csproj

@ -18,6 +18,11 @@
<None Remove="Volo\Abp\Emailing\Templates\DefaultEmailTemplates\*\*.tpl" />
</ItemGroup>
<ItemGroup>
<Content Remove="Volo\Abp\Emailing\Localization\*.json" />
<EmbeddedResource Include="Volo\Abp\Emailing\Localization\*.json" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Scriban" Version="2.1.1" />
</ItemGroup>

8
framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/AbpEmailingModule.cs

@ -2,6 +2,7 @@
using System.Collections.Generic;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.BackgroundJobs;
using Volo.Abp.Emailing.Localization;
using Volo.Abp.Emailing.Templates;
using Volo.Abp.Localization;
using Volo.Abp.Modularity;
@ -30,6 +31,13 @@ namespace Volo.Abp.Emailing
options.FileSets.AddEmbedded<AbpEmailingModule>();
});
Configure<AbpLocalizationOptions>(options =>
{
options.Resources
.Add<EmailingResource>("en")
.AddVirtualJson("/Volo/Abp/Emailing/Localization");
});
Configure<AbpBackgroundJobOptions>(options =>
{
options.AddJob<BackgroundEmailSendingJob>();

66
framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/EmailSettingProvider.cs

@ -1,3 +1,5 @@
using Volo.Abp.Emailing.Localization;
using Volo.Abp.Localization;
using Volo.Abp.Settings;
namespace Volo.Abp.Emailing
@ -11,16 +13,62 @@ namespace Volo.Abp.Emailing
public override void Define(ISettingDefinitionContext context)
{
context.Add(
new SettingDefinition(EmailSettingNames.Smtp.Host, "127.0.0.1"),
new SettingDefinition(EmailSettingNames.Smtp.Port, "25"),
new SettingDefinition(EmailSettingNames.Smtp.UserName),
new SettingDefinition(EmailSettingNames.Smtp.Password, isEncrypted: true),
new SettingDefinition(EmailSettingNames.Smtp.Domain),
new SettingDefinition(EmailSettingNames.Smtp.EnableSsl, "false"),
new SettingDefinition(EmailSettingNames.Smtp.UseDefaultCredentials, "true"),
new SettingDefinition(EmailSettingNames.DefaultFromAddress, "noreply@abp.io"),
new SettingDefinition(EmailSettingNames.DefaultFromDisplayName, "ABP application")
new SettingDefinition(
EmailSettingNames.Smtp.Host,
"127.0.0.1",
L("DisplayName:Abp.Mailing.Smtp.Host"),
L("Description:Abp.Mailing.Smtp.Host")),
new SettingDefinition(EmailSettingNames.Smtp.Port,
"25",
L("DisplayName:Abp.Mailing.Smtp.Port"),
L("Description:Abp.Mailing.Smtp.Port")),
new SettingDefinition(
EmailSettingNames.Smtp.UserName,
displayName: L("DisplayName:Abp.Mailing.Smtp.UserName"),
description: L("Description:Abp.Mailing.Smtp.UserName")),
new SettingDefinition(
EmailSettingNames.Smtp.Password,
displayName:
L("DisplayName:Abp.Mailing.Smtp.Password"),
description: L("Description:Abp.Mailing.Smtp.Password"),
isEncrypted: true),
new SettingDefinition(
EmailSettingNames.Smtp.Domain,
displayName: L("DisplayName:Abp.Mailing.Smtp.Domain"),
description: L("Description:Abp.Mailing.Smtp.Domain")),
new SettingDefinition(
EmailSettingNames.Smtp.EnableSsl,
"false",
L("DisplayName:Abp.Mailing.Smtp.EnableSsl"),
L("Description:Abp.Mailing.Smtp.EnableSsl")),
new SettingDefinition(
EmailSettingNames.Smtp.UseDefaultCredentials,
"true",
L("DisplayName:Abp.Mailing.Smtp.UseDefaultCredentials"),
L("Description:Abp.Mailing.Smtp.UseDefaultCredentials")),
new SettingDefinition(
EmailSettingNames.DefaultFromAddress,
"noreply@abp.io",
L("DisplayName:Abp.Mailing.DefaultFromAddress"),
L("Description:Abp.Mailing.DefaultFromAddress")),
new SettingDefinition(EmailSettingNames.DefaultFromDisplayName,
"ABP application",
L("DisplayName:Abp.Mailing.DefaultFromDisplayName"),
L("Description:Abp.Mailing.DefaultFromDisplayName"))
);
}
private static LocalizableString L(string name)
{
return LocalizableString.Create<EmailingResource>(name);
}
}
}

10
framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Localization/EmailingResource.cs

@ -0,0 +1,10 @@
using Volo.Abp.Localization;
namespace Volo.Abp.Emailing.Localization
{
[LocalizationResourceName("AbpEmailing")]
public class EmailingResource
{
}
}

23
framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Localization/en.json

@ -0,0 +1,23 @@
{
"culture": "en",
"texts": {
"DisplayName:Abp.Mailing.DefaultFromAddress": "Default from address",
"DisplayName:Abp.Mailing.DefaultFromDisplayName": "Default from display name",
"DisplayName:Abp.Mailing.Smtp.Host": "Host",
"DisplayName:Abp.Mailing.Smtp.Port": "Port",
"DisplayName:Abp.Mailing.Smtp.UserName": "User name",
"DisplayName:Abp.Mailing.Smtp.Password": "Password",
"DisplayName:Abp.Mailing.Smtp.Domain": "Domain",
"DisplayName:Abp.Mailing.Smtp.EnableSsl": "Enable SSL",
"DisplayName:Abp.Mailing.Smtp.UseDefaultCredentials": "Use default credentials",
"Description:Abp.Mailing.DefaultFromAddress": "The default from address",
"Description:Abp.Mailing.DefaultFromDisplayName": "The default from display name",
"Description:Abp.Mailing.Smtp.Host": "The name or IP address of the host used for SMTP transactions.",
"Description:Abp.Mailing.Smtp.Port": "The port used for SMTP transactions.",
"Description:Abp.Mailing.Smtp.UserName": "User name associated with the credentials.",
"Description:Abp.Mailing.Smtp.Password": "The password for the user name associated with the credentials.",
"Description:Abp.Mailing.Smtp.Domain": "The domain or computer name that verifies the credentials.",
"Description:Abp.Mailing.Smtp.EnableSsl": "Whether the SmtpClient uses Secure Sockets Layer (SSL) to encrypt the connection.",
"Description:Abp.Mailing.Smtp.UseDefaultCredentials": "Whether the DefaultCredentials are sent with requests."
}
}

23
framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Localization/zh-Hans.json

@ -0,0 +1,23 @@
{
"culture": "zh-Hans",
"texts": {
"DisplayName:Abp.Mailing.DefaultFromAddress": "默认发件人地址",
"DisplayName:Abp.Mailing.DefaultFromDisplayName": "默认发件人名字",
"DisplayName:Abp.Mailing.Smtp.Host": "主机",
"DisplayName:Abp.Mailing.Smtp.Port": "端口",
"DisplayName:Abp.Mailing.Smtp.UserName": "用户名",
"DisplayName:Abp.Mailing.Smtp.Password": "密码",
"DisplayName:Abp.Mailing.Smtp.Domain": "域",
"DisplayName:Abp.Mailing.Smtp.EnableSsl": "启用SSL",
"DisplayName:Abp.Mailing.Smtp.UseDefaultCredentials": "使用默认凭据",
"Description:Abp.Mailing.DefaultFromAddress": "默认的发件人地址.",
"Description:Abp.Mailing.DefaultFromDisplayName": "默认的发件人名字.",
"Description:Abp.Mailing.Smtp.Host": "SMTP 事务的主机名或主机 IP 地址.",
"Description:Abp.Mailing.Smtp.Port": "SMTP 事务的端口.",
"Description:Abp.Mailing.Smtp.UserName": "凭据关联的用户名.",
"Description:Abp.Mailing.Smtp.Password": "凭据关联的用户名的密码.",
"Description:Abp.Mailing.Smtp.Domain": "验证凭据的域名或计算机名.",
"Description:Abp.Mailing.Smtp.EnableSsl": "指定 SmtpClient 是否使用安全套接字层 (SSL) 加密连接.",
"Description:Abp.Mailing.Smtp.UseDefaultCredentials": "控制默认凭据是否随请求一起发送."
}
}

1
framework/src/Volo.Abp.Localization/Volo.Abp.Localization.csproj

@ -14,6 +14,7 @@
</PropertyGroup>
<ItemGroup>
<None Remove="Volo\Abp\Localization\Resources\**\*.json" />
<EmbeddedResource Include="Volo\Abp\Localization\Resources\**\*.json" />
</ItemGroup>

11
framework/src/Volo.Abp.Localization/Volo/Abp/Localization/AbpLocalizationModule.cs

@ -1,4 +1,5 @@
using Volo.Abp.Localization.Resources.AbpValidation;
using Volo.Abp.Localization.Resources.AbpLocalization;
using Volo.Abp.Localization.Resources.AbpValidation;
using Volo.Abp.Modularity;
using Volo.Abp.Settings;
using Volo.Abp.VirtualFileSystem;
@ -27,10 +28,16 @@ namespace Volo.Abp.Localization
.Resources
.Add<DefaultResource>("en");
//TODO: Obsolete, Remove in the future version
options
.Resources
.Add<AbpValidationResource>("en")
.AddVirtualJson("/Localization/Resources/AbpValidation");
.AddVirtualJson("/Volo/Abp/Validation/Localization");//load from Volo.Abp.Validation
options
.Resources
.Add<AbpLocalizationResource>("en")
.AddVirtualJson("/Localization/Resources/AbpLocalization");
});
}
}

14
framework/src/Volo.Abp.Localization/Volo/Abp/Localization/LocalizationSettingProvider.cs

@ -1,4 +1,5 @@
using Volo.Abp.Settings;
using Volo.Abp.Localization.Resources.AbpValidation;
using Volo.Abp.Settings;
namespace Volo.Abp.Localization
{
@ -7,8 +8,17 @@ namespace Volo.Abp.Localization
public override void Define(ISettingDefinitionContext context)
{
context.Add(
new SettingDefinition(LocalizationSettingNames.DefaultLanguage, "en", isVisibleToClients: true)
new SettingDefinition(LocalizationSettingNames.DefaultLanguage,
"en",
L("DisplayName:Abp.Localization.DefaultLanguage"),
L("Description:Abp.Localization.DefaultLanguage"),
isVisibleToClients: true)
);
}
private static LocalizableString L(string name)
{
return LocalizableString.Create<AbpValidationResource>(name);
}
}
}

10
framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpLocalization/AbpLocalizationResource.cs

@ -0,0 +1,10 @@
using System;
namespace Volo.Abp.Localization.Resources.AbpLocalization
{
[LocalizationResourceName("AbpLocalization")]
public class AbpLocalizationResource
{
}
}

7
framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpLocalization/en.json

@ -0,0 +1,7 @@
{
"culture": "en",
"texts": {
"DisplayName:Abp.Localization.DefaultLanguage": "Default language",
"Description:Abp.Localization.DefaultLanguage": "The default language of the application."
}
}

7
framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpLocalization/zh-Hans.json

@ -0,0 +1,7 @@
{
"culture": "zh-Hans",
"texts": {
"DisplayName:Abp.Localization.DefaultLanguage": "默认语言",
"Description:Abp.Localization.DefaultLanguage": "应用程序的默认语言."
}
}

5
framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/AbpValidationResource.cs

@ -1,8 +1,11 @@
namespace Volo.Abp.Localization.Resources.AbpValidation
using System;
namespace Volo.Abp.Localization.Resources.AbpValidation
{
//TODO: Move to Volo.Abp.Validation!
[LocalizationResourceName("AbpValidation")]
[Obsolete("This resource is obsolete.Use Volo.Abp.Validation.Localization.AbpValidationResource instead.", false)]
public class AbpValidationResource
{

8
framework/src/Volo.Abp.Validation/Volo.Abp.Validation.csproj

@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\common.props" />
@ -13,8 +13,14 @@
<RootNamespace />
</PropertyGroup>
<ItemGroup>
<None Remove="Volo\Abp\Validation\Localization\*.json" />
<EmbeddedResource Include="Volo\Abp\Validation\Localization\*.json" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Volo.Abp.Core\Volo.Abp.Core.csproj" />
<ProjectReference Include="..\Volo.Abp.Localization\Volo.Abp.Localization.csproj" />
</ItemGroup>
</Project>

20
framework/src/Volo.Abp.Validation/Volo/Abp/Validation/AbpValidationModule.cs

@ -1,10 +1,16 @@
using System;
using System.Collections.Generic;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Localization;
using Volo.Abp.Modularity;
using Volo.Abp.Validation.Localization;
using Volo.Abp.VirtualFileSystem;
namespace Volo.Abp.Validation
{
[DependsOn(
typeof(AbpLocalizationModule)
)]
public class AbpValidationModule : AbpModule
{
public override void PreConfigureServices(ServiceConfigurationContext context)
@ -12,6 +18,20 @@ namespace Volo.Abp.Validation
context.Services.OnRegistred(ValidationInterceptorRegistrar.RegisterIfNeeded);
AutoAddObjectValidationContributors(context.Services);
}
public override void ConfigureServices(ServiceConfigurationContext context)
{
Configure<AbpVirtualFileSystemOptions>(options =>
{
options.FileSets.AddEmbedded<AbpValidationResource>();
});
Configure<AbpLocalizationOptions>(options =>
{
options.Resources
.Add<AbpValidationResource>("en")
.AddVirtualJson("/Volo/Abp/Validation/Localization");
});
}
private static void AutoAddObjectValidationContributors(IServiceCollection services)
{

10
framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/AbpValidationResource.cs

@ -0,0 +1,10 @@
using Volo.Abp.Localization;
namespace Volo.Abp.Validation.Localization
{
[LocalizationResourceName("AbpValidation")]
public class AbpValidationResource
{
}
}

0
framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/cs.json → framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/cs.json

0
framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/en.json → framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/en.json

0
framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/es.json → framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/es.json

0
framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/pl.json → framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/pl.json

0
framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/pt-BR.json → framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/pt-BR.json

0
framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/tr.json → framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/tr.json

0
framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/vi.json → framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/vi.json

2
framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/zh-Hans.json → framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/zh-Hans.json

@ -29,6 +29,6 @@
"ThisFieldMustBeAStringWithAMaximumLengthOf{0}": "字段必须是长度为{0}的字符串.",
"ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}": "字段必须是最小长度为{1}并且最大长度{*}的字符串.",
"ThisFieldIsNotAValidFullyQualifiedHttpHttpsOrFtpUrl": "字段{0}不是有效的完全限定的http,https或ftp URL.",
"ThisFieldIsInvalid.": "字段无效."
"ThisFieldIsInvalid.": "字段无效."
}
}

6
modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/en.json

@ -35,6 +35,10 @@
"PasswordChanged": "Password changed",
"NewPasswordConfirmFailed": "Please confirm the new password.",
"Manage": "Manage",
"ManageYourProfile": "Manage your profile"
"ManageYourProfile": "Manage your profile",
"DisplayName:Abp.Account.IsSelfRegistrationEnabled": "Is self-registration enabled",
"Description:Abp.Account.IsSelfRegistrationEnabled": "Whether a user can register the account by him or herself.",
"DisplayName:Abp.Account.EnableLocalLogin": "Authenticate with a local account",
"Description:Abp.Account.EnableLocalLogin": "Indicates if Server will allow users to authenticate with a local account."
}
}

6
modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/zh-Hans.json

@ -35,6 +35,10 @@
"PasswordChanged": "修改密码",
"NewPasswordConfirmFailed": "请确认新密码",
"Manage": "管理",
"ManageYourProfile": "管理你的个人资料"
"ManageYourProfile": "管理你的个人资料",
"DisplayName:Abp.Account.IsSelfRegistrationEnabled": "启用自行注册",
"Description:Abp.Account.IsSelfRegistrationEnabled": "是否允许用户自行注册帐户.",
"DisplayName:Abp.Account.EnableLocalLogin": "使用本地帐户进行身份验证",
"Description:Abp.Account.EnableLocalLogin": "服务器是否将允许用户使用本地帐户进行身份验证。"
}
}

21
modules/account/src/Volo.Abp.Account.Web/Settings/AccountSettingDefinitionProvider.cs

@ -1,4 +1,6 @@
using Volo.Abp.Settings;
using Volo.Abp.Account.Localization;
using Volo.Abp.Localization;
using Volo.Abp.Settings;
namespace Volo.Abp.Account.Web.Settings
{
@ -7,12 +9,25 @@ namespace Volo.Abp.Account.Web.Settings
public override void Define(ISettingDefinitionContext context)
{
context.Add(
new SettingDefinition(AccountSettingNames.IsSelfRegistrationEnabled, "true")
new SettingDefinition(
AccountSettingNames.IsSelfRegistrationEnabled,
"true",
L("DisplayName:Abp.Account.IsSelfRegistrationEnabled"),
L("Description:Abp.Account.IsSelfRegistrationEnabled"))
);
context.Add(
new SettingDefinition(AccountSettingNames.EnableLocalLogin, "true")
new SettingDefinition(
AccountSettingNames.EnableLocalLogin,
"true",
L("DisplayName:Abp.Account.EnableLocalLogin"),
L("Description:Abp.Account.EnableLocalLogin"))
);
}
private static LocalizableString L(string name)
{
return LocalizableString.Create<AccountResource>(name);
}
}
}

28
modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/en.json

@ -71,6 +71,32 @@
"Permission:Delete": "Delete",
"Permission:ChangePermissions": "Change permissions",
"Permission:UserManagement": "User management",
"Permission:UserLookup": "User lookup"
"Permission:UserLookup": "User lookup",
"DisplayName:Abp.Identity.Password.RequiredLength": "Required length",
"DisplayName:Abp.Identity.Password.RequiredUniqueChars": "Required unique characters number",
"DisplayName:Abp.Identity.Password.RequireNonAlphanumeric": "Required non-alphanumeric character",
"DisplayName:Abp.Identity.Password.RequireLowercase": "Required lower case character",
"DisplayName:Abp.Identity.Password.RequireUppercase": "Required upper case character",
"DisplayName:Abp.Identity.Password.RequireDigit": "Required digit",
"DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "Allowed for new users",
"DisplayName:Abp.Identity.Lockout.LockoutDuration": "Lockout duration(seconds)",
"DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Max failed access attempts",
"DisplayName:Abp.Identity.SignIn.RequireConfirmedEmail": "Require confirmed email",
"DisplayName:Abp.Identity.SignIn.RequireConfirmedPhoneNumber": "Require confirmed phoneNumber",
"DisplayName:Abp.Identity.User.IsUserNameUpdateEnabled": "Is username update enabled",
"DisplayName:Abp.Identity.User.IsEmailUpdateEnabled": "Is email update enabled",
"Description:Abp.Identity.Password.RequiredLength": "The minimum length a password must be.",
"Description:Abp.Identity.Password.RequiredUniqueChars": "The minimum number of unique characters which a password must contain.",
"Description:Abp.Identity.Password.RequireNonAlphanumeric": "If passwords must contain a non-alphanumeric character.",
"Description:Abp.Identity.Password.RequireLowercase": "If passwords must contain a lower case ASCII character.",
"Description:Abp.Identity.Password.RequireUppercase": "If passwords must contain a upper case ASCII character.",
"Description:Abp.Identity.Password.RequireDigit": "If passwords must contain a digit.",
"Description:Abp.Identity.Lockout.AllowedForNewUsers": "Whether a new user can be locked out.",
"Description:Abp.Identity.Lockout.LockoutDuration": "The duration a user is locked out for when a lockout occurs.",
"Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "The number of failed access attempts allowed before a user is locked out, assuming lock out is enabled.",
"Description:Abp.Identity.SignIn.RequireConfirmedEmail": "Whether a confirmed email address is required to sign in.",
"Description:Abp.Identity.SignIn.RequireConfirmedPhoneNumber": "Whether a confirmed telephone number is required to sign in.",
"Description:Abp.Identity.User.IsUserNameUpdateEnabled": "Whether the username can be updated by the user.",
"Description:Abp.Identity.User.IsEmailUpdateEnabled": "Whether the email can be updated by the user."
}
}

29
modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/zh-Hans.json

@ -71,6 +71,33 @@
"Permission:Delete": "删除",
"Permission:ChangePermissions": "更改权限",
"Permission:UserManagement": "用户管理",
"Permission:UserLookup": "用户查询"
"Permission:UserLookup": "用户查询",
"DisplayName:Abp.Identity.Password.RequiredLength": "要求长度",
"DisplayName:Abp.Identity.Password.RequiredUniqueChars": "要求唯一字符数量",
"DisplayName:Abp.Identity.Password.RequireNonAlphanumeric": "要求非字母数字",
"DisplayName:Abp.Identity.Password.RequireLowercase": "要求小写字母",
"DisplayName:Abp.Identity.Password.RequireUppercase": "要求大写字母",
"DisplayName:Abp.Identity.Password.RequireDigit": "要求数字",
"DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "允许新用户",
"DisplayName:Abp.Identity.Lockout.LockoutDuration": "锁定时间(秒)",
"DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "最大失败访问尝试次数",
"DisplayName:Abp.Identity.SignIn.RequireConfirmedEmail": "要求验证的电子邮箱",
"DisplayName:Abp.Identity.SignIn.RequireConfirmedPhoneNumber": "要求验证的电话号码",
"DisplayName:Abp.Identity.User.IsUserNameUpdateEnabled": "启用用户名更新",
"DisplayName:Abp.Identity.User.IsEmailUpdateEnabled": "启用电子邮箱更新",
"Description:Abp.Identity.Password.RequiredLength": "密码的最小长度.",
"Description:Abp.Identity.Password.RequiredUniqueChars": "密码必须包含唯一字符的数量.",
"Description:Abp.Identity.Password.RequireNonAlphanumeric": "密码是否必须包含非字母数字.",
"Description:Abp.Identity.Password.RequireLowercase": "密码是否必须包含小写字母.",
"Description:Abp.Identity.Password.RequireUppercase": "密码是否必须包含大写字母.",
"Description:Abp.Identity.Password.RequireDigit": "密码是否必须包含数字.",
"Description:Abp.Identity.Lockout.AllowedForNewUsers": "允许新用户被锁定.",
"Description:Abp.Identity.Lockout.LockoutDuration": "当锁定发生时用户被的锁定的时间(秒).",
"Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "如果启用锁定, 当用户被锁定前失败的访问尝试次数.",
"Description:Abp.Identity.SignIn.RequireConfirmedEmail": "登录时是否需要验证的电子邮箱.",
"Description:Abp.Identity.SignIn.RequireConfirmedPhoneNumber": "登录时是否需要验证的电话号码.",
"Description:Abp.Identity.User.IsUserNameUpdateEnabled": "是否允许用户更新用户名.",
"Description:Abp.Identity.User.IsEmailUpdateEnabled": "是否允许用户更新电子邮箱."
}
}

104
modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentitySettingDefinitionProvider.cs

@ -1,4 +1,6 @@
using Volo.Abp.Identity.Settings;
using Volo.Abp.Identity.Localization;
using Volo.Abp.Identity.Settings;
using Volo.Abp.Localization;
using Volo.Abp.Settings;
namespace Volo.Abp.Identity
@ -8,23 +10,91 @@ namespace Volo.Abp.Identity
public override void Define(ISettingDefinitionContext context)
{
context.Add(
new SettingDefinition(IdentitySettingNames.Password.RequiredLength, 6.ToString(), null, null, true),
new SettingDefinition(IdentitySettingNames.Password.RequiredUniqueChars, 1.ToString(), null, null, true),
new SettingDefinition(IdentitySettingNames.Password.RequireNonAlphanumeric, true.ToString(), null, null, true),
new SettingDefinition(IdentitySettingNames.Password.RequireLowercase, true.ToString(), null, null, true),
new SettingDefinition(IdentitySettingNames.Password.RequireUppercase, true.ToString(), null, null, true),
new SettingDefinition(IdentitySettingNames.Password.RequireDigit, true.ToString(), null, null, true),
new SettingDefinition(IdentitySettingNames.Lockout.AllowedForNewUsers, true.ToString(), null, null, true),
new SettingDefinition(IdentitySettingNames.Lockout.LockoutDuration, (5*60).ToString(), null, null, true),
new SettingDefinition(IdentitySettingNames.Lockout.MaxFailedAccessAttempts, 5.ToString(), null, null, true),
new SettingDefinition(IdentitySettingNames.SignIn.RequireConfirmedEmail, false.ToString(), null, null, true),
new SettingDefinition(IdentitySettingNames.SignIn.RequireConfirmedPhoneNumber, false.ToString(), null, null, true),
new SettingDefinition(IdentitySettingNames.User.IsUserNameUpdateEnabled, true.ToString(), null, null, true),
new SettingDefinition(IdentitySettingNames.User.IsEmailUpdateEnabled, true.ToString(), null, null, true)
new SettingDefinition(
IdentitySettingNames.Password.RequiredLength,
6.ToString(),
L("DisplayName:Abp.Identity.Password.RequiredLength"),
L("Description:Abp.Identity.Password.RequiredLength"),
true),
new SettingDefinition(
IdentitySettingNames.Password.RequiredUniqueChars,
1.ToString(),
L("DisplayName:Abp.Identity.Password.RequiredUniqueChars"),
L("Description:Abp.Identity.Password.RequiredUniqueChars"),
true),
new SettingDefinition(
IdentitySettingNames.Password.RequireNonAlphanumeric,
true.ToString(),
L("DisplayName:Abp.Identity.Password.RequireNonAlphanumeric"),
L("Description:Abp.Identity.Password.RequireNonAlphanumeric"),
true),
new SettingDefinition(
IdentitySettingNames.Password.RequireLowercase,
true.ToString(), L("DisplayName:Abp.Identity.Password.RequireLowercase"),
L("Description:Abp.Identity.Password.RequireLowercase"),
true),
new SettingDefinition(
IdentitySettingNames.Password.RequireUppercase,
true.ToString(), L("DisplayName:Abp.Identity.Password.RequireUppercase"),
L("Description:Abp.Identity.Password.RequireUppercase"),
true),
new SettingDefinition(
IdentitySettingNames.Password.RequireDigit,
true.ToString(), L("DisplayName:Abp.Identity.Password.RequireDigit"),
L("Description:Abp.Identity.Password.RequireDigit"),
true),
new SettingDefinition(
IdentitySettingNames.Lockout.AllowedForNewUsers,
true.ToString(), L("DisplayName:Abp.Identity.Lockout.AllowedForNewUsers"),
L("Description:Abp.Identity.Lockout.AllowedForNewUsers"),
true),
new SettingDefinition(
IdentitySettingNames.Lockout.LockoutDuration,
(5*60).ToString(), L("DisplayName:Abp.Identity.Lockout.LockoutDuration"),
L("Description:Abp.Identity.Lockout.LockoutDuration"),
true),
new SettingDefinition(
IdentitySettingNames.Lockout.MaxFailedAccessAttempts,
5.ToString(), L("DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts"),
L("Description:Abp.Identity.Lockout.MaxFailedAccessAttempts"),
true),
new SettingDefinition(
IdentitySettingNames.SignIn.RequireConfirmedEmail,
false.ToString(), L("DisplayName:Abp.Identity.SignIn.RequireConfirmedEmail"),
L("Description:Abp.Identity.SignIn.RequireConfirmedEmail"),
true),
new SettingDefinition(
IdentitySettingNames.SignIn.RequireConfirmedPhoneNumber,
false.ToString(), L("DisplayName:Abp.Identity.SignIn.RequireConfirmedPhoneNumber"),
L("Description:Abp.Identity.SignIn.RequireConfirmedPhoneNumber"),
true),
new SettingDefinition(
IdentitySettingNames.User.IsUserNameUpdateEnabled,
true.ToString(), L("DisplayName:Abp.Identity.User.IsUserNameUpdateEnabled"),
L("Description:Abp.Identity.User.IsUserNameUpdateEnabled"),
true),
new SettingDefinition(
IdentitySettingNames.User.IsEmailUpdateEnabled,
true.ToString(), L("DisplayName:Abp.Identity.User.IsEmailUpdateEnabled"),
L("Description:Abp.Identity.User.IsEmailUpdateEnabled"),
true)
);
}
private static LocalizableString L(string name)
{
return LocalizableString.Create<IdentityResource>(name);
}
}
}

Loading…
Cancel
Save